Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755868AbcCaI5J (ORCPT ); Thu, 31 Mar 2016 04:57:09 -0400 Received: from mail-qg0-f54.google.com ([209.85.192.54]:35033 "EHLO mail-qg0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753633AbcCaI5G (ORCPT ); Thu, 31 Mar 2016 04:57:06 -0400 Subject: Re: [PATCH 1/2] lightnvm: use rrpc->nr_luns to calculate the rrpc area size To: Wenwei Tao References: <1459348115-6072-1-git-send-email-ww.tao0320@gmail.com> Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org From: =?UTF-8?Q?Matias_Bj=c3=b8rling?= Message-ID: <56FCE65D.8060901@lightnvm.io> Date: Thu, 31 Mar 2016 10:57:01 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1325 Lines: 39 On 03/31/2016 10:31 AM, Wenwei Tao wrote: > 2016-03-30 22:28 GMT+08:00 Wenwei Tao : >> 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 >> --- >> 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. Hi Wenwei, How about moving rrpc_area_init call under the rrpc_luns_init call instead. Then nr_sects will have been initialized? >> >> size >>= 9; >> >> -- >> 2.7.2.333.g70bd996 >>