From: Eric Biggers <ebiggers@kernel.org>
To: Christoph Hellwig <hch@lst.de>
Cc: "Theodore Y. Ts'o" <tytso@mit.edu>,
Jaegeuk Kim <jaegeuk@kernel.org>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Chao Yu <chao@kernel.org>, Christian Brauner <brauner@kernel.org>,
"Darrick J. Wong" <djwong@kernel.org>,
linux-fscrypt@vger.kernel.org, linux-ext4@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 10/11] fscrypt: pass a byte length to fscrypt_zeroout_range
Date: Sat, 22 Nov 2025 10:29:26 -0800 [thread overview]
Message-ID: <20251122182926.GC1626@quark> (raw)
In-Reply-To: <20251118062159.2358085-11-hch@lst.de>
On Tue, Nov 18, 2025 at 07:21:53AM +0100, Christoph Hellwig wrote:
> Range lengths are usually expressed as bytes in the VFS, switch
> fscrypt_zeroout_range to this convention.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> fs/crypto/bio.c | 6 +++---
> fs/ext4/inode.c | 3 ++-
> fs/f2fs/file.c | 2 +-
> 3 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c
> index 235dd1c3d443..4e9893664c0f 100644
> --- a/fs/crypto/bio.c
> +++ b/fs/crypto/bio.c
> @@ -115,7 +115,7 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
> * @inode: the file's inode
> * @pos: the first file logical offset (in bytes) to zero out
> * @pblk: the first filesystem physical block to zero out
> - * @len: number of blocks to zero out
> + * @len: bytes to zero out
[...]
> int fscrypt_zeroout_range(const struct inode *inode, loff_t pos,
> sector_t sector, unsigned int len)
The type of 'len' is still unsigned int, so this reduces the maximum
length accepted by fscrypt_zeroout_range() from UINT32_MAX blocks to
UINT32_MAX bytes. Is that really okay?
Both ext4 and f2fs call this from functions where they have the length
as a u32 number of logical blocks. And of course both filesystems
support files longer than UINT32_MAX bytes. So it's not clear to me.
ext4 extents have a smaller size limit, so maybe at least ext4 is okay.
But different extents can be contiguous and operated on together. So
we'd have to check the callers of the callers, etc.
It would be safer to change the type to u64 and have the callers do
(u64)len_in_blocks << blockbits.
- Eric
next prev parent reply other threads:[~2025-11-22 18:29 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-18 6:21 fscrypt API cleanups Christoph Hellwig
2025-11-18 6:21 ` [PATCH 01/11] fscrypt: pass a real sector_t to fscrypt_zeroout_range_inline_crypt Christoph Hellwig
2025-11-18 6:21 ` [PATCH 02/11] fscrypt: keep multiple bios in flight in fscrypt_zeroout_range_inline_crypt Christoph Hellwig
2025-11-18 6:21 ` [PATCH 03/11] fscrypt: pass a byte offset to fscrypt_generate_dun Christoph Hellwig
2025-11-18 6:21 ` [PATCH 04/11] fscrypt: pass a byte offset to fscrypt_mergeable_bio Christoph Hellwig
2025-11-22 18:17 ` Eric Biggers
2025-11-24 14:16 ` Christoph Hellwig
2025-11-18 6:21 ` [PATCH 05/11] fscrypt: pass a byte offset to fscrypt_set_bio_crypt_ctx Christoph Hellwig
2025-11-18 6:21 ` [PATCH 06/11] fscrypt: pass a byte offset to fscrypt_zeroout_range_inline_crypt Christoph Hellwig
2025-11-18 6:21 ` [PATCH 07/11] fscrypt: pass a byte length " Christoph Hellwig
2025-11-18 6:21 ` [PATCH 08/11] fscrypt: return a byte offset from bh_get_inode_and_lblk_num Christoph Hellwig
2025-11-22 18:19 ` Eric Biggers
2025-11-18 6:21 ` [PATCH 09/11] fscrypt: pass a byte offset to fscrypt_zeroout_range Christoph Hellwig
2025-11-18 6:21 ` [PATCH 10/11] fscrypt: pass a byte length " Christoph Hellwig
2025-11-22 18:29 ` Eric Biggers [this message]
2025-11-24 14:17 ` Christoph Hellwig
2025-11-18 6:21 ` [PATCH 11/11] fscrypt: pass a real sector_t " Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251122182926.GC1626@quark \
--to=ebiggers@kernel.org \
--cc=adilger.kernel@dilger.ca \
--cc=brauner@kernel.org \
--cc=chao@kernel.org \
--cc=djwong@kernel.org \
--cc=hch@lst.de \
--cc=jaegeuk@kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fscrypt@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).