aboutsummaryrefslogtreecommitdiff
path: root/fs/xfs/libxfs/xfs_attr.h
diff options
context:
space:
mode:
authorGravatar Dave Chinner <dchinner@redhat.com> 2022-05-12 15:12:56 +1000
committerGravatar Dave Chinner <david@fromorbit.com> 2022-05-12 15:12:56 +1000
commite5d5596a2a1790d8c57938f820aa33e58f90ad0d (patch)
tree5d804404c313593aa27df7ce1f99a656aa66aa6c /fs/xfs/libxfs/xfs_attr.h
parentxfs: xfs_attr_set_iter() does not need to return EAGAIN (diff)
downloadlinux-e5d5596a2a1790d8c57938f820aa33e58f90ad0d.tar.gz
linux-e5d5596a2a1790d8c57938f820aa33e58f90ad0d.tar.bz2
linux-e5d5596a2a1790d8c57938f820aa33e58f90ad0d.zip
xfs: introduce attr remove initial states into xfs_attr_set_iter
We need to merge the add and remove code paths to enable safe recovery of replace operations. Hoist the initial remove states from xfs_attr_remove_iter into xfs_attr_set_iter. We will make use of them in the next patches. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Allison Henderson<allison.henderson@oracle.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/libxfs/xfs_attr.h')
-rw-r--r--fs/xfs/libxfs/xfs_attr.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_attr.h b/fs/xfs/libxfs/xfs_attr.h
index 7b0a5a165725..988c2451683a 100644
--- a/fs/xfs/libxfs/xfs_attr.h
+++ b/fs/xfs/libxfs/xfs_attr.h
@@ -451,6 +451,10 @@ enum xfs_delattr_state {
XFS_DAS_RM_NAME, /* Remove attr name */
XFS_DAS_RM_SHRINK, /* We are shrinking the tree */
+ XFS_DAS_SF_REMOVE, /* Initial shortform set iter state */
+ XFS_DAS_LEAF_REMOVE, /* Initial leaf form set iter state */
+ XFS_DAS_NODE_REMOVE, /* Initial node form set iter state */
+
/* Leaf state set/replace sequence */
XFS_DAS_LEAF_SET_RMT, /* set a remote xattr from a leaf */
XFS_DAS_LEAF_ALLOC_RMT, /* We are allocating remote blocks */