]> git.baikalelectronics.ru Git - kernel.git/commit
xfs: consolidate leaf/node states in xfs_attr_set_iter
authorDave Chinner <dchinner@redhat.com>
Thu, 12 May 2022 05:12:54 +0000 (15:12 +1000)
committerDave Chinner <david@fromorbit.com>
Thu, 12 May 2022 05:12:54 +0000 (15:12 +1000)
commita17fede598c8e29b63257d41355ed9b24b14160d
tree6cc67e576b264c4a2c4e870bd323d2856b6eeb99
parent15e8e6c427528a31929c46827dc7f3633d257a18
xfs: consolidate leaf/node states in xfs_attr_set_iter

The operations performed from XFS_DAS_FOUND_LBLK through to
XFS_DAS_RM_LBLK are now identical to XFS_DAS_FOUND_NBLK through to
XFS_DAS_RM_NBLK. We can collapse these down into a single set of
code.

To do this, define the states that leaf and node run through as
separate sets of sequential states. Then as we move to the next
state, we can use increments rather than specific state assignments
to move through the states. This means the state progression is set
by the initial state that enters the series and we don't need to
duplicate the code anymore.

At the exit point of the series we need to select the correct leaf
or node state, but that can also be done by state increment rather
than assignment.

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>
fs/xfs/libxfs/xfs_attr.c
fs/xfs/libxfs/xfs_attr.h