Received: by 2002:a05:6a10:6d25:0:0:0:0 with SMTP id gq37csp1790957pxb; Mon, 13 Sep 2021 05:43:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwG5qxJypdkmpQdB/T3jozkBwRrXwicyY31cLeLSzm4zEUNOcmICycj3uXSu0rI6J8hXu8w X-Received: by 2002:a05:6638:22d1:: with SMTP id j17mr7535202jat.129.1631537010221; Mon, 13 Sep 2021 05:43:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631537010; cv=none; d=google.com; s=arc-20160816; b=qqo1EbN1v+BXgfUES98c1NixNYsJPfk7UJYSiY9KRDZ78z11NwisQhsAFD8uywzjXU CrnlxIw07XlAElCvqPzt5shsp2BVqCNxxkijy1YotmAf5o8YRh6ZxEbomJtxjWvjbVE4 oK8/vgJCG+lkNIp04vVbRJFjgeq3RJ4cS8osWQMRbATyMmWrtpv1yuYwid2A8XcCimuq /ZyRVtAj1FRoVkm4MHdLWOUQBd7cNJrmFinK8kP1YN+MfUmBrT/XKk13ZhM1z1ceBCHz +LOk57ZO7AEGohT4t4QGrKlZNkXdesAFtnEpbeFa9fDjclbCDhHmVtNT0kN1fhCWyA+/ OI8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=cXS37ga9lIUCDu3UszJeebR03eW18Sxrg0lTQIziZWI=; b=DD5++HOKalb4OhCax+xfdkhQ7ZNv0rGPXI3ly8kVRJUKt3FY1jaJywcO8OMOas5FoL YL3tiOKrjheKZP3Mgy2aATjLUCwiA3WH9B83/yBQZ8PJ9sNQSfnu8GUVoGb36bSFvykU aB6ZN/WNvxjr5O4BBroAA1/d+s4jQaT5kOglh1/Vp2hxlvF/tMtREaANg+gOefSrDFwq AqQgE7bvzjvx9QfL6N7tAdnwSZYC1xi6l4WKofk9KsqYTnRH/+clKRiSXANUl325mHrs eXk3AvzDKn9inG7B6lsuXZE8F6tzv2lfBpYS+BR4DgXr/NO04N1uHoOVitWYmuZ1zWUs mEIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b="S/pfew6n"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a4si6128422ilm.69.2021.09.13.05.43.18; Mon, 13 Sep 2021 05:43:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b="S/pfew6n"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239031AbhIMLAO (ORCPT + 99 others); Mon, 13 Sep 2021 07:00:14 -0400 Received: from m12-18.163.com ([220.181.12.18]:48642 "EHLO m12-18.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234958AbhIMLAO (ORCPT ); Mon, 13 Sep 2021 07:00:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:Message-ID:MIME-Version; bh=cXS37 ga9lIUCDu3UszJeebR03eW18Sxrg0lTQIziZWI=; b=S/pfew6nNArZoIK01Ql+a IRyNqWhAsO8VyY6UalKDvoth+aQ+zR04ta1UI9qx9vRRrHyUzQY9wPnPtXEuN/IA nmcEvFaDlEShAjuuNdJNGqg8YQDWIMul+aJj+mHg1mbA2IFXJeFhGZ3QXzzEDn1h 58Oy5xQoNlJUlzRL1dVsPs= Received: from rockpi4b (unknown [112.20.66.82]) by smtp14 (Coremail) with SMTP id EsCowAAHmsvdLj9hkPaCAg--.37957S2; Mon, 13 Sep 2021 18:58:38 +0800 (CST) Date: Mon, 13 Sep 2021 18:58:36 +0800 From: Yue Hu To: Gao Xiang Cc: Yue Hu , xiang@kernel.org, chao@kernel.org, linux-erofs@lists.ozlabs.org, linux-kernel@vger.kernel.org, huyue2@yulong.com, zhangwen@yulong.com Subject: Re: [PATCH] erofs: fix compacted_{4b_initial, 2b} when compacted_4b_initial > totalidx Message-ID: <20210913185836.088e7059.zbestahu@163.com> In-Reply-To: References: <20210913072405.1128-1-zbestahu@gmail.com> <20210913170016.00007580.zbestahu@gmail.com> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; aarch64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-CM-TRANSID: EsCowAAHmsvdLj9hkPaCAg--.37957S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxuF45tF1Dur48KFy8CFW7Arb_yoW5GFy7pr ZrKF48Ja4vqFn2yw1xtw1rXF48tw4kCr4UW34YqFy0qr90kFn3Jr18tF98uF1UXw1fKr40 vF4Uu3Z3CFW7Ar7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07Ufb1nUUUUU= X-Originating-IP: [112.20.66.82] X-CM-SenderInfo: p2eh23xdkxqiywtou0bp/1tbitBINEVSIm3o6hQABs5 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Xiang, On Mon, 13 Sep 2021 17:11:24 +0800 Gao Xiang wrote: > On Mon, Sep 13, 2021 at 05:00:16PM +0800, Yue Hu wrote: > > On Mon, 13 Sep 2021 16:48:45 +0800 > > Gao Xiang wrote: > > > > > Hi Yue, > > > > > > On Mon, Sep 13, 2021 at 03:24:05PM +0800, Yue Hu wrote: > > > > From: Yue Hu > > > > > > > > mkfs.erofs will treat compacted_4b_initial & compacted_2b as 0 if > > > > compacted_4b_initial > totalidx, kernel should be aligned with it > > > > accordingly. > > > > > > There is no difference between compacted_4b_initial or compacted_4b_end > > > for compacted 4B. Since in this way totalidx for compact 2B won't larger > > > than 16 (number of lclusters in a compacted 2B pack.) > > > > However, we can see compacted_2b is a big number for this case. It should > > be pointless. > > Does it has some real impact? No real impact to correct result. > > compacted_4b_initial is only used for the alignment use for the > first compacted_2b so that each compacted_2b pack won't cross > the block (page) boundary. And compacted_4b_end is for the last > lclusters aren't fitted in any compacted_2b pack. > > If compacted_4b_initial > totalidx, I think the whole indexes > would be compacted 4B and handled in > > if (lcn < compacted_4b_initial) { > amortizedshift = 2; > goto out; > } Yes, it is. My point is why we need compacted_2b here for this case. If it's not helpful/used for next code logic, we should remove/avoid it. I think that may cause some misunderstanding and consume unneeded CPU resources. Thanks. > > Thanks, > Gao Xiang > > > > > Thanks. > > > > > > > > So it can be handled in either compacted_4b_initial or compacted_4b_end > > > cases, because there are all compacted 4B. > > > > > > Thanks, > > > Gao Xiang > > > > > > > > > > > Signed-off-by: Yue Hu > > > > --- > > > > fs/erofs/zmap.c | 5 ++++- > > > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/fs/erofs/zmap.c b/fs/erofs/zmap.c > > > > index 9fb98d8..4f941b6 100644 > > > > --- a/fs/erofs/zmap.c > > > > +++ b/fs/erofs/zmap.c > > > > @@ -369,7 +369,10 @@ static int compacted_load_cluster_from_disk(struct z_erofs_maprecorder *m, > > > > if (compacted_4b_initial == 32 / 4) > > > > compacted_4b_initial = 0; > > > > > > > > - if (vi->z_advise & Z_EROFS_ADVISE_COMPACTED_2B) > > > > + if (compacted_4b_initial > totalidx) { > > > > + compacted_4b_initial = 0; > > > > + compacted_2b = 0; > > > > + } else if (vi->z_advise & Z_EROFS_ADVISE_COMPACTED_2B) > > > > compacted_2b = rounddown(totalidx - compacted_4b_initial, 16); > > > > else > > > > compacted_2b = 0; > > > > -- > > > > 1.9.1