summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLong Li <leo.lilong@huawei.com>2026-03-17 04:51:52 +0300
committerCarlos Maiolino <cem@kernel.org>2026-03-23 12:47:27 +0300
commite942498385bf80f4d6d075b47174035545eb6a2e (patch)
treea7261914bbd16a435e83ec4394b0de120b8ec801
parente5966096d0856d071269cb5928d6bc33342d2dfd (diff)
downloadlinux-e942498385bf80f4d6d075b47174035545eb6a2e.tar.xz
xfs: only assert new size for datafork during truncate extents
The assertion functions properly because we currently only truncate the attr to a zero size. Any other new size of the attr is not preempted. Make this assertion is specific to the datafork, preparing for subsequent patches to truncate the attribute to a non-zero size. Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Long Li <leo.lilong@huawei.com> Signed-off-by: Carlos Maiolino <cem@kernel.org>
-rw-r--r--fs/xfs/xfs_inode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index 50c0404f9064..beaa26ec62da 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -1048,7 +1048,8 @@ xfs_itruncate_extents_flags(
xfs_assert_ilocked(ip, XFS_ILOCK_EXCL);
if (icount_read(VFS_I(ip)))
xfs_assert_ilocked(ip, XFS_IOLOCK_EXCL);
- ASSERT(new_size <= XFS_ISIZE(ip));
+ if (whichfork == XFS_DATA_FORK)
+ ASSERT(new_size <= XFS_ISIZE(ip));
ASSERT(tp->t_flags & XFS_TRANS_PERM_LOG_RES);
ASSERT(ip->i_itemp != NULL);
ASSERT(ip->i_itemp->ili_lock_flags == 0);