From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4CDB0C6FD1F for ; Tue, 26 Mar 2024 09:53:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CD69C6B0088; Tue, 26 Mar 2024 05:53:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C5EF06B0089; Tue, 26 Mar 2024 05:53:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD7E16B008A; Tue, 26 Mar 2024 05:53:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 95A636B0088 for ; Tue, 26 Mar 2024 05:53:39 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 60B89C0A30 for ; Tue, 26 Mar 2024 09:53:39 +0000 (UTC) X-FDA: 81938728158.02.4654347 Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) by imf15.hostedemail.com (Postfix) with ESMTP id C1609A0013 for ; Tue, 26 Mar 2024 09:53:37 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=SeKLaveT; spf=pass (imf15.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.151 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711446818; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=XvQvmg7eUJ6XUFSwCSiynxp4lLJbG0KYQHnlFS2Zq7Q=; b=r9pCLmjz16mi3eTqycADR7BLnSvuflIlzFD4kJgHoWMaF2EOv+jlb3U83XUQM9dsNELO8w o/YGyVHsLFZ6EhTmzRGUAMgjqbal8xVtgamxFQO2M9hyjaVK9FL3uOk6Iv4Zu44Inki7Sz 36e6eFSwqY4d+7fKc1Paf6Yfi87zVro= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711446818; a=rsa-sha256; cv=none; b=S/HIUYXAWlXS2nXAayPinwedxDp05aWjFEwB3wAZ5g+pV09dJSY2nmapVQ9WA7foLh7JPs nMpHc1J4T72pD76sAhjvHgADzJ2IdQDDe8qV8gCd7KMFNsEnZ/BCbPOX7Zd6p0b5fGAFQR ey4g4QvD5U7xTzvBXz6RHv/amQqrzvA= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=pankajraghav.com header.s=MBO0001 header.b=SeKLaveT; spf=pass (imf15.hostedemail.com: domain of kernel@pankajraghav.com designates 80.241.56.151 as permitted sender) smtp.mailfrom=kernel@pankajraghav.com; dmarc=pass (policy=quarantine) header.from=pankajraghav.com Received: from smtp102.mailbox.org (smtp102.mailbox.org [IPv6:2001:67c:2050:b231:465::102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4V3lVj1mj0z9smj; Tue, 26 Mar 2024 10:53:33 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pankajraghav.com; s=MBO0001; t=1711446813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=XvQvmg7eUJ6XUFSwCSiynxp4lLJbG0KYQHnlFS2Zq7Q=; b=SeKLaveTbGJlCa05UkQhGZe1nbeCvZzFhqOEbHEXZz2NGj7NOa8411XZe51acSHK+ptfUG Ih9TDcPM2ktVGG+ZUraPNDOykE0tAWTc5f/eZcc+2V+z647KlkEEpsEWPzcCQ0LfIXsatn 0DwZf20pbBPRSomVcdai4NAIYV5WLuGG7IazYR5P5wGPQlPFLfWzKDUoxb3KV1MqWR0cdp uSeMoocb01Z5BxriVA6nEJyXeVwoKzWk1A0qY0VFzTZbWPVNvp7MnEzfY32hAX0J9/37Y7 bb/LKm1W5PV4WYC8bBWlDaNsm8+rj4OgCSA4Qi6t7f4iCJ8+XucX3X5HEU+T0g== Date: Tue, 26 Mar 2024 10:53:27 +0100 From: "Pankaj Raghav (Samsung)" To: Matthew Wilcox Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, gost.dev@samsung.com, chandan.babu@oracle.com, hare@suse.de, mcgrof@kernel.org, djwong@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, david@fromorbit.com, akpm@linux-foundation.org, Pankaj Raghav Subject: Re: [PATCH v3 10/11] xfs: make the calculation generic in xfs_sb_validate_fsb_count() Message-ID: <7djmiptum72jkug7kijmgy74olkkezeybicxiw2jpwj4yxjilp@2y2l2dyulczt> References: <20240313170253.2324812-1-kernel@pankajraghav.com> <20240313170253.2324812-11-kernel@pankajraghav.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: C1609A0013 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 3e6bq63eojdipi395bzb87ffq1t98uqo X-HE-Tag: 1711446817-395971 X-HE-Meta: U2FsdGVkX1+cbFXI3JPWtjqn0t4YvOWzdj3aTOKH4Wvp9u+goLNuZjw/PJWAN7tynGFHTYn9BjOpnGZC+Xvq9T70+vlBA1+kfyk7D1asYXdt81ioPaXz4AwCnBUBkoaHdvv9hx5D32Yu2YxAwEzSyAOWL423YoPj+Aw6bu4285iTRUewPZPAZYbFwiTdHg6JB2RDIp7PdIbc/Dno5UXIydOrBRapkyInI5bktIbfNFfBBg2CyNJIi/jgQx3YhYeMQcez8U74+MPhUbCwcav8jIe48S8HvH8P29mivSFwg9nwO4jOEs+rD9IqlBELlS7oUALyrcHXpAhiq0dnSyXjCeiQLRXndt20PZ7ph8Z8oUjn0Tug9rI43z90RQuomBFk68z79iSaGbM7vUcgRmn8bgWk93j5A/aUNDs2ZbETR4LnacVaAfVNtskmAOYAtOjlMmi/ve0YfiD1ptlDmJjPNvkKVQNlG4zQk0pUC6Y4XC6H518ZT81E0n29AOj0SXwwONvVgzzg1RpWS+gxYyWm3Q4ofnZzM3VHXkLHjNGBSedUPS+hlJHaTkszbNfVwUaHjJTeTQCd5OiKuX1h+mFYxGDWl9YhbMGKGLtVVbe49omDAS0rRmZdv+TooE/pnYHH1x7eQ2hSHRgjDJLXIA4aD2IWMrFnYCGNGPcOWJ1AY2C/pCyge2EtffhU/wMTx9Gwgt95Jy5zdxMSBGoXKgyikaRUtc2Hh4ozOshyK1jIS1RzlANpJsm0Patpt6kU4V21f4Nx2Kik9fpoix4JQUIcIAPGsp2UhhUzmnqoAeF+j/OfWAjs2f1n02Lifu1cX/sdBfCnfVYZQuD3jyQGwF1WKHn4yV6f92VjjDj+to0bE2R1AUrQh9fJ3An4MOPbZPyLhpT6cuUC8XFKNNbsXc5+b9MwC7y1qHgJPsBRDwjH/A0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Mar 25, 2024 at 07:15:59PM +0000, Matthew Wilcox wrote: > On Wed, Mar 13, 2024 at 06:02:52PM +0100, Pankaj Raghav (Samsung) wrote: > > From: Pankaj Raghav > > > > Instead of assuming that PAGE_SHIFT is always higher than the blocklog, > > make the calculation generic so that page cache count can be calculated > > correctly for LBS. > > > > Signed-off-by: Pankaj Raghav > > --- > > fs/xfs/xfs_mount.c | 9 ++++++++- > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c > > index aabb25dc3efa..9cf800586da7 100644 > > --- a/fs/xfs/xfs_mount.c > > +++ b/fs/xfs/xfs_mount.c > > @@ -133,9 +133,16 @@ xfs_sb_validate_fsb_count( > > { > > ASSERT(PAGE_SHIFT >= sbp->sb_blocklog); > > but ... you're still asserting that PAGE_SHIFT is larger than blocklog. > Shouldn't you delete that assertion? I do that in the next patch when we enable LBS support in XFS by setting min order. So we still need the check here that will be removed in the next patch. > > > ASSERT(sbp->sb_blocklog >= BBSHIFT); > > + uint64_t max_index; > > + uint64_t max_bytes; > > + > > + if (check_shl_overflow(nblocks, sbp->sb_blocklog, &max_bytes)) > > + return -EFBIG; > > > > /* Limited by ULONG_MAX of page cache index */ > > - if (nblocks >> (PAGE_SHIFT - sbp->sb_blocklog) > ULONG_MAX) > > + max_index = max_bytes >> PAGE_SHIFT; > > + > > + if (max_index > ULONG_MAX) > > return -EFBIG; > > This kind of depends on the implementation details of the page cache. > We have MAX_LFS_FILESIZE to abstract that; maybe that should be used > here? Makes sense. I will use it instead of using ULONG_MAX.