2015-12-14 10:24:09

by Chao Yu

[permalink] [raw]
Subject: [PATCH] lightnvm: fix incorrect nr_free_blocks stat

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


2015-12-14 11:42:19

by Matias Bjørling

[permalink] [raw]
Subject: Re: [PATCH] lightnvm: fix incorrect nr_free_blocks stat

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.