Re: [PATCH 1/2] lightnvm: use rrpc->nr_luns to calculate the rrpc area size

From: Wenwei Tao
Date: Thu Mar 31 2016 - 04:31:14 EST


2016-03-30 22:28 GMT+08:00 Wenwei Tao <ww.tao0320@xxxxxxxxx>:
> rrpc->nr_sects is calculated after rrpc init luns succeeds,
> before that the value of rrpc->nr_sects is zero, so we cannot
> use it to calcuate rrpc area size, we use rrpc->nr_luns instead.
>
> Signed-off-by: Wenwei Tao <ww.tao0320@xxxxxxxxx>
> ---
> drivers/lightnvm/rrpc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c
> index 3ab6495..516a045 100644
> --- a/drivers/lightnvm/rrpc.c
> +++ b/drivers/lightnvm/rrpc.c
> @@ -1223,7 +1223,7 @@ static int rrpc_area_init(struct rrpc *rrpc, sector_t *begin)
> {
> struct nvm_dev *dev = rrpc->dev;
> struct nvmm_type *mt = dev->mt;
> - sector_t size = rrpc->nr_sects * dev->sec_size;
> + sector_t size = dev->sec_size * dev->sec_per_lun * rrpc->nr_luns;

dev->sec_size * dev->sec_per_lun * rrpc->nr_luns could be oveflow,
should use (sector_t)dev->sec_size * dev->sec_per_lun * rrpc->nr_luns
instead. Will submit another patch to fix it.
>
> size >>= 9;
>
> --
> 2.7.2.333.g70bd996
>