2016-03-30 22:28 GMT+08:00 Wenwei Tao <ww.tao0...@gmail.com>:
> 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.tao0...@gmail.com>
> ---
>  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
>

Reply via email to