[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <914474acec3e1c69be620b840099c6c4ba71ceff.camel@ddn.com>
Date: Wed, 6 Aug 2025 23:23:35 +0000
From: Dongyang Li <dli@....com>
To: Andreas Dilger <adilger@...ger.ca>, "tytso@....edu" <tytso@....edu>
CC: "linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>, Andreas Dilger
<adilger@....com>
Subject: Re: [PATCH] ext2fs: fix fast symlink blocks check
Andreas,
We actually got a test case f_ea_inode_fast_symlink for this,
Could you share the version with the test case?
Thanks
Dongyang
On Thu, 2025-07-17 at 00:51 -0600, Andreas Dilger wrote:
> Use ext4_inode_is_fast_symlink() in ext2fs_inode_has_valid_blocks2()
> instead of depending exclusively on i_blocks == 0 to determine
> if an inode is a fast symlink. Otherwise, if a fast symlink has a
> large external xattr inode that increases i_blocks, it will be
> incorrectly reported as having invalid blocks.
>
> Change-Id: Ibde2348da39401601abedd603bd7e4ef97091abe
> Fixes: 0684a4f33 ("Overhaul extended attribute handling")
> Signed-off-by: Andreas Dilger <adilger@...mcloud.com>
> Reviewed-by: Li Dongyang <dongyangli@....com>
> Reviewed-on: https://review.whamcloud.com/59871
> Lustre-bug-id: https://jira.whamcloud.com/browse/LU-19121
> ---
> lib/ext2fs/valid_blk.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/ext2fs/valid_blk.c b/lib/ext2fs/valid_blk.c
> index db5d90ae4..332e9c66a 100644
> --- a/lib/ext2fs/valid_blk.c
> +++ b/lib/ext2fs/valid_blk.c
> @@ -43,6 +43,7 @@ int ext2fs_inode_has_valid_blocks2(ext2_filsys fs,
> struct ext2_inode *inode)
> /* With no EA block, we can rely on i_blocks
> */
> if (inode->i_blocks == 0)
> return 0;
> + return !ext2fs_is_fast_symlink(inode);
> } else {
> /* With an EA block, life gets more tricky
> */
> if (inode->i_size >= EXT2_N_BLOCKS*4)
Powered by blists - more mailing lists