xfs: Add xfs_attr_node_remove_name
authorAllison Henderson <allison.henderson@oracle.com>
Fri, 19 Mar 2021 00:25:59 +0000 (17:25 -0700)
committerAllison Henderson <allison.henderson@oracle.com>
Tue, 1 Jun 2021 17:48:41 +0000 (10:48 -0700)
This patch pulls a new helper function xfs_attr_node_remove_name out
of xfs_attr_node_remove_step.  This helps to modularize
xfs_attr_node_remove_step which will help make the delayed attribute
code easier to follow

Signed-off-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Brian Foster <bfoster@redhat.com>
fs/xfs/libxfs/xfs_attr.c

index 190b46d..8a08d5b 100644 (file)
@@ -1214,6 +1214,25 @@ int xfs_attr_node_removename_setup(
        return 0;
 }
 
+STATIC int
+xfs_attr_node_remove_name(
+       struct xfs_da_args      *args,
+       struct xfs_da_state     *state)
+{
+       struct xfs_da_state_blk *blk;
+       int                     retval;
+
+       /*
+        * Remove the name and update the hashvals in the tree.
+        */
+       blk = &state->path.blk[state->path.active-1];
+       ASSERT(blk->magic == XFS_ATTR_LEAF_MAGIC);
+       retval = xfs_attr3_leaf_remove(blk->bp, args);
+       xfs_da3_fixhashpath(state, &state->path);
+
+       return retval;
+}
+
 /*
  * Remove a name from a B-tree attribute list.
  *
@@ -1226,7 +1245,6 @@ xfs_attr_node_removename(
        struct xfs_da_args      *args)
 {
        struct xfs_da_state     *state;
-       struct xfs_da_state_blk *blk;
        int                     retval, error;
        struct xfs_inode        *dp = args->dp;
 
@@ -1254,14 +1272,7 @@ xfs_attr_node_removename(
                if (error)
                        goto out;
        }
-
-       /*
-        * Remove the name and update the hashvals in the tree.
-        */
-       blk = &state->path.blk[ state->path.active-1 ];
-       ASSERT(blk->magic == XFS_ATTR_LEAF_MAGIC);
-       retval = xfs_attr3_leaf_remove(blk->bp, args);
-       xfs_da3_fixhashpath(state, &state->path);
+       retval = xfs_attr_node_remove_name(args, state);
 
        /*
         * Check to see if the tree needs to be collapsed.