Commit 090c5c15 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Eric Biggers
Browse files

fscrypt: pass a byte offset to fscrypt_zeroout_range_inline_crypt



Logical offsets into an inode are usually expressed as bytes in the VFS.
Switch fscrypt_zeroout_range_inline_crypt to that convention.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20260302141922.370070-10-hch@lst.de


Signed-off-by: default avatarEric Biggers <ebiggers@kernel.org>
parent 3c7eaa77
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -70,12 +70,11 @@ static void fscrypt_zeroout_range_end_io(struct bio *bio)
}

static int fscrypt_zeroout_range_inline_crypt(const struct inode *inode,
					      pgoff_t lblk, sector_t sector,
					      loff_t pos, sector_t sector,
					      unsigned int len)
{
	const unsigned int blockbits = inode->i_blkbits;
	const unsigned int blocks_per_page = 1 << (PAGE_SHIFT - blockbits);
	loff_t pos = (loff_t)lblk << blockbits;
	struct fscrypt_zero_done done = {
		.pending	= ATOMIC_INIT(1),
		.done		= COMPLETION_INITIALIZER_ONSTACK(done.done),
@@ -142,6 +141,7 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
	const unsigned int du_per_page = 1U << du_per_page_bits;
	u64 du_index = (u64)lblk << (inode->i_blkbits - du_bits);
	u64 du_remaining = (u64)len << (inode->i_blkbits - du_bits);
	loff_t pos = (loff_t)lblk << inode->i_blkbits;
	sector_t sector = pblk << (inode->i_blkbits - SECTOR_SHIFT);
	struct page *pages[16]; /* write up to 16 pages at a time */
	unsigned int nr_pages;
@@ -154,7 +154,7 @@ int fscrypt_zeroout_range(const struct inode *inode, pgoff_t lblk,
		return 0;

	if (fscrypt_inode_uses_inline_crypto(inode))
		return fscrypt_zeroout_range_inline_crypt(inode, lblk, sector,
		return fscrypt_zeroout_range_inline_crypt(inode, pos, sector,
							  len);

	BUILD_BUG_ON(ARRAY_SIZE(pages) > BIO_MAX_VECS);