Просмотр исходного кода

lightnvm: pblk: assume that chunks are closed on 1.2 devices

We can't know if a block is closed or not on 1.2 devices, so assume
closed state to make sure that blocks are erased before writing.

Fixes: 32ef9412c114 ("lightnvm: pblk: implement get log report chunk")
Signed-off-by: Hans Holmberg <hans.holmberg@cnexlabs.com>
Signed-off-by: Matias Bjørling <mb@lightnvm.io>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Hans Holmberg 7 лет назад
Родитель
Сommit
f6352103d2
1 измененных файлов с 3 добавлено и 2 удалено
  1. 3 2
      drivers/lightnvm/pblk-init.c

+ 3 - 2
drivers/lightnvm/pblk-init.c

@@ -719,10 +719,11 @@ static int pblk_setup_line_meta_12(struct pblk *pblk, struct pblk_line *line,
 
 
 		/*
 		/*
 		 * In 1.2 spec. chunk state is not persisted by the device. Thus
 		 * In 1.2 spec. chunk state is not persisted by the device. Thus
-		 * some of the values are reset each time pblk is instantiated.
+		 * some of the values are reset each time pblk is instantiated,
+		 * so we have to assume that the block is closed.
 		 */
 		 */
 		if (lun_bb_meta[line->id] == NVM_BLK_T_FREE)
 		if (lun_bb_meta[line->id] == NVM_BLK_T_FREE)
-			chunk->state =  NVM_CHK_ST_FREE;
+			chunk->state =  NVM_CHK_ST_CLOSED;
 		else
 		else
 			chunk->state = NVM_CHK_ST_OFFLINE;
 			chunk->state = NVM_CHK_ST_OFFLINE;