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 7/9] fscrypt: pass a byte offset to fscrypt_zeroout_range
Date: Sat, 21 Feb 2026 11:49:22 -0800 [thread overview]
Message-ID: <20260221194922.GE2536@quark> (raw)
In-Reply-To: <20260218061531.3318130-8-hch@lst.de>
On Wed, Feb 18, 2026 at 07:14:45AM +0100, Christoph Hellwig wrote:
> Logical offsets into an inode are usually expresssed as bytes in the VFS.
> Switch fscrypt_zeroout_range to that convention.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> fs/crypto/bio.c | 6 +++---
> fs/ext4/inode.c | 3 ++-
> fs/f2fs/file.c | 4 +++-
> include/linux/fscrypt.h | 4 ++--
> 4 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c
> index 36025ce7a264..e41e605cf7e6 100644
> --- a/fs/crypto/bio.c
> +++ b/fs/crypto/bio.c
> @@ -113,7 +113,7 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
> /**
> * fscrypt_zeroout_range() - zero out a range of blocks in an encrypted file
> * @inode: the file's inode
> - * @lblk: the first file logical block to zero out
> + * @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
> *
> @@ -127,7 +127,7 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
> *
> * Return: 0 on success; -errno on failure.
> */
> -int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
> +int fscrypt_zeroout_range(const struct inode *inode, loff_t pos,
> sector_t pblk, unsigned int len)
> {
> const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
> @@ -135,7 +135,7 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
> const unsigned int du_size = 1U << du_bits;
> const unsigned int du_per_page_bits = PAGE_SHIFT - du_bits;
> const unsigned int du_per_page = 1U << du_per_page_bits;
> - u64 du_index = (u64)lblk << (inode->i_blkbits - du_bits);
> + u64 du_index = pos >> du_bits;
> u64 du_remaining = (u64)len << (inode->i_blkbits - du_bits);
> loff_t pos = (loff_t)lblk << inode->i_blkbits;
This is a bisection hazard because the 'pos' local variable isn't
removed until a later patch. It needs to be removed in this patch.
- Eric
WARNING: multiple messages have this Message-ID (diff)
From: Eric Biggers via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: Christoph Hellwig <hch@lst.de>
Cc: Christian Brauner <brauner@kernel.org>,
"Theodore Y. Ts'o" <tytso@mit.edu>,
"Darrick J. Wong" <djwong@kernel.org>,
linux-f2fs-devel@lists.sourceforge.net,
linux-fscrypt@vger.kernel.org,
Andreas Dilger <adilger.kernel@dilger.ca>,
linux-fsdevel@vger.kernel.org, Jaegeuk Kim <jaegeuk@kernel.org>,
linux-ext4@vger.kernel.org
Subject: Re: [f2fs-dev] [PATCH 7/9] fscrypt: pass a byte offset to fscrypt_zeroout_range
Date: Sat, 21 Feb 2026 11:49:22 -0800 [thread overview]
Message-ID: <20260221194922.GE2536@quark> (raw)
In-Reply-To: <20260218061531.3318130-8-hch@lst.de>
On Wed, Feb 18, 2026 at 07:14:45AM +0100, Christoph Hellwig wrote:
> Logical offsets into an inode are usually expresssed as bytes in the VFS.
> Switch fscrypt_zeroout_range to that convention.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> fs/crypto/bio.c | 6 +++---
> fs/ext4/inode.c | 3 ++-
> fs/f2fs/file.c | 4 +++-
> include/linux/fscrypt.h | 4 ++--
> 4 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/fs/crypto/bio.c b/fs/crypto/bio.c
> index 36025ce7a264..e41e605cf7e6 100644
> --- a/fs/crypto/bio.c
> +++ b/fs/crypto/bio.c
> @@ -113,7 +113,7 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
> /**
> * fscrypt_zeroout_range() - zero out a range of blocks in an encrypted file
> * @inode: the file's inode
> - * @lblk: the first file logical block to zero out
> + * @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
> *
> @@ -127,7 +127,7 @@ static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
> *
> * Return: 0 on success; -errno on failure.
> */
> -int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
> +int fscrypt_zeroout_range(const struct inode *inode, loff_t pos,
> sector_t pblk, unsigned int len)
> {
> const struct fscrypt_inode_info *ci = fscrypt_get_inode_info_raw(inode);
> @@ -135,7 +135,7 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
> const unsigned int du_size = 1U << du_bits;
> const unsigned int du_per_page_bits = PAGE_SHIFT - du_bits;
> const unsigned int du_per_page = 1U << du_per_page_bits;
> - u64 du_index = (u64)lblk << (inode->i_blkbits - du_bits);
> + u64 du_index = pos >> du_bits;
> u64 du_remaining = (u64)len << (inode->i_blkbits - du_bits);
> loff_t pos = (loff_t)lblk << inode->i_blkbits;
This is a bisection hazard because the 'pos' local variable isn't
removed until a later patch. It needs to be removed in this patch.
- Eric
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2026-02-21 19:49 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-18 6:14 fscrypt API cleanups Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " Christoph Hellwig
2026-02-18 6:14 ` [PATCH 1/9] fscrypt: pass a byte offset to fscrypt_generate_dun Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " Christoph Hellwig
2026-02-18 6:14 ` [PATCH 2/9] fscrypt: pass a byte offset to fscrypt_mergeable_bio Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " Christoph Hellwig
2026-02-21 19:44 ` Eric Biggers
2026-02-21 19:44 ` [f2fs-dev] " Eric Biggers via Linux-f2fs-devel
2026-02-18 6:14 ` [PATCH 3/9] fscrypt: pass a byte offset to fscrypt_set_bio_crypt_ctx Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " Christoph Hellwig
2026-02-21 19:45 ` Eric Biggers
2026-02-21 19:45 ` [f2fs-dev] " Eric Biggers via Linux-f2fs-devel
2026-02-18 6:14 ` [PATCH 4/9] fscrypt: pass a byte offset to fscrypt_zeroout_range_inline_crypt Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " Christoph Hellwig
2026-02-18 6:14 ` [PATCH 5/9] fscrypt: pass a byte length " Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " Christoph Hellwig
2026-02-18 6:14 ` [PATCH 6/9] fscrypt: return a byte offset from bh_get_inode_and_lblk_num Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " Christoph Hellwig
2026-02-21 19:47 ` Eric Biggers
2026-02-21 19:47 ` [f2fs-dev] " Eric Biggers via Linux-f2fs-devel
2026-02-18 6:14 ` [PATCH 7/9] fscrypt: pass a byte offset to fscrypt_zeroout_range Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " Christoph Hellwig
2026-02-21 19:49 ` Eric Biggers [this message]
2026-02-21 19:49 ` Eric Biggers via Linux-f2fs-devel
2026-02-18 6:14 ` [PATCH 8/9] fscrypt: pass a byte length " Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " Christoph Hellwig
2026-02-21 19:56 ` Eric Biggers
2026-02-21 19:56 ` [f2fs-dev] " Eric Biggers via Linux-f2fs-devel
2026-02-18 6:14 ` [PATCH 9/9] fscrypt: pass a real sector_t " Christoph Hellwig
2026-02-18 6:14 ` [f2fs-dev] " 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=20260221194922.GE2536@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.