When initing bad block list in gennvm_block_bb, once we move bad block
from free_list to bb_list, we should maintain both stat info
nr_free_blocks and nr_bad_blocks. So this patch fixes to add missing
operation related to nr_free_blocks.
Signed-off-by: Chao Yu <[email protected]>
---
drivers/lightnvm/gennvm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/lightnvm/gennvm.c b/drivers/lightnvm/gennvm.c
index 35dde84..6b504a2 100644
--- a/drivers/lightnvm/gennvm.c
+++ b/drivers/lightnvm/gennvm.c
@@ -89,6 +89,7 @@ static int gennvm_block_bb(struct ppa_addr ppa, int nr_blocks, u8 *blks,
list_move_tail(&blk->list, &lun->bb_list);
lun->vlun.nr_bad_blocks++;
+ lun->vlun.nr_free_blocks--;
}
return 0;
--
2.6.3
On 12/14/2015 11:23 AM, Chao Yu wrote:
> When initing bad block list in gennvm_block_bb, once we move bad block
> from free_list to bb_list, we should maintain both stat info
> nr_free_blocks and nr_bad_blocks. So this patch fixes to add missing
> operation related to nr_free_blocks.
>
> Signed-off-by: Chao Yu <[email protected]>
> ---
> drivers/lightnvm/gennvm.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/lightnvm/gennvm.c b/drivers/lightnvm/gennvm.c
> index 35dde84..6b504a2 100644
> --- a/drivers/lightnvm/gennvm.c
> +++ b/drivers/lightnvm/gennvm.c
> @@ -89,6 +89,7 @@ static int gennvm_block_bb(struct ppa_addr ppa, int nr_blocks, u8 *blks,
>
> list_move_tail(&blk->list, &lun->bb_list);
> lun->vlun.nr_bad_blocks++;
> + lun->vlun.nr_free_blocks--;
> }
>
> return 0;
>
Thanks Yu, Applied.