lightnvm: do not protect block 0
authorJavier González <jg@lightnvm.io>
Mon, 28 Nov 2016 21:38:55 +0000 (22:38 +0100)
committerJens Axboe <axboe@fb.com>
Tue, 29 Nov 2016 19:12:51 +0000 (12:12 -0700)
Device blocks should be marked by the device and considered as bad
blocks by the media manager. Thus, do not make assumptions on which
blocks are going to be used by the device. In doing so we might lose
valid blocks from the free list.

Signed-off-by: Javier González <javier@cnexlabs.com>
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/lightnvm/gennvm.c

index 730d7361f870187a3f3ff081b136988ad019c9ab..a7e17faea2cd6e114d2253b350f5f30ca2c4c3b2 100644 (file)
@@ -371,12 +371,6 @@ static int gen_blocks_init(struct nvm_dev *dev, struct gen_dev *gn)
                        block->lun = &lun->vlun;
                        block->id = cur_block_id++;
 
-                       /* First block is reserved for device */
-                       if (unlikely(lun_iter == 0 && blk_iter == 0)) {
-                               lun->vlun.nr_free_blocks--;
-                               continue;
-                       }
-
                        list_add_tail(&block->list, &lun->free_list);
                }