UBI: Fastmap: Remove is_fm_block()
authorRichard Weinberger <richard@nod.at>
Fri, 7 Nov 2014 12:35:41 +0000 (13:35 +0100)
committerRichard Weinberger <richard@nod.at>
Thu, 26 Mar 2015 21:47:38 +0000 (22:47 +0100)
This function was added to fastmap in a very early stage
to have paranoid assertions.
With the current fastmap implementation this assert will never
trigger as fastmap PEBs are not seen by the WL sub-system.
Remove it to save us some CPU cycles.

Signed-off-by: Richard Weinberger <richard@nod.at>
drivers/mtd/ubi/fastmap-wl.c
drivers/mtd/ubi/wl.c
drivers/mtd/ubi/wl.h

index 067aa90..b2a6653 100644 (file)
@@ -28,25 +28,6 @@ static void update_fastmap_work_fn(struct work_struct *wrk)
        spin_unlock(&ubi->wl_lock);
 }
 
-/**
- *  is_fm_block - returns 1 if a PEB is currently used in a fastmap.
- *  @ubi: UBI device description object
- *  @pnum: the to be checked PEB
- */
-static int is_fm_block(struct ubi_device *ubi, int pnum)
-{
-       int i;
-
-       if (!ubi->fm)
-               return 0;
-
-       for (i = 0; i < ubi->fm->used_blocks; i++)
-               if (ubi->fm->e[i]->pnum == pnum)
-                       return 1;
-
-       return 0;
-}
-
 /**
  * find_anchor_wl_entry - find wear-leveling entry to used as anchor PEB.
  * @root: the RB-tree where to look for
index 94ffdeb..16214d3 100644 (file)
@@ -585,7 +585,6 @@ static int schedule_erase(struct ubi_device *ubi, struct ubi_wl_entry *e,
        struct ubi_work *wl_wrk;
 
        ubi_assert(e);
-       ubi_assert(!is_fm_block(ubi, e->pnum));
 
        dbg_wl("schedule erasure of PEB %d, EC %d, torture %d",
               e->pnum, e->ec, torture);
@@ -1045,8 +1044,6 @@ static int erase_worker(struct ubi_device *ubi, struct ubi_work *wl_wrk,
        dbg_wl("erase PEB %d EC %d LEB %d:%d",
               pnum, e->ec, wl_wrk->vol_id, wl_wrk->lnum);
 
-       ubi_assert(!is_fm_block(ubi, e->pnum));
-
        err = sync_erase(ubi, e, wl_wrk->torture);
        if (!err) {
                /* Fine, we've erased it successfully */
@@ -1526,7 +1523,6 @@ int ubi_wl_init(struct ubi_device *ubi, struct ubi_attach_info *ai)
 
                e->pnum = aeb->pnum;
                e->ec = aeb->ec;
-               ubi_assert(!is_fm_block(ubi, e->pnum));
                ubi->lookuptbl[e->pnum] = e;
                if (schedule_erase(ubi, e, aeb->vol_id, aeb->lnum, 0)) {
                        wl_entry_destroy(ubi, e);
@@ -1547,7 +1543,6 @@ int ubi_wl_init(struct ubi_device *ubi, struct ubi_attach_info *ai)
                e->pnum = aeb->pnum;
                e->ec = aeb->ec;
                ubi_assert(e->ec >= 0);
-               ubi_assert(!is_fm_block(ubi, e->pnum));
 
                wl_tree_add(e, &ubi->free);
                ubi->free_count++;
Simple merge