xfs: Add helper function xfs_attr_node_removename_rmt
authorAllison Collins <allison.henderson@oracle.com>
Tue, 21 Jul 2020 04:47:30 +0000 (21:47 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 29 Jul 2020 03:28:12 +0000 (20:28 -0700)
This patch adds another new helper function
xfs_attr_node_removename_rmt. This will also help modularize
xfs_attr_node_removename when we add delay ready attributes later.

Signed-off-by: Allison Collins <allison.henderson@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Chandan Rajendra <chandanrlinux@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Acked-by: Dave Chinner <dchinner@redhat.com>
fs/xfs/libxfs/xfs_attr.c

index bf91da5..82f7cc7 100644 (file)
@@ -1198,6 +1198,24 @@ int xfs_attr_node_removename_setup(
        return 0;
 }
 
+STATIC int
+xfs_attr_node_remove_rmt(
+       struct xfs_da_args      *args,
+       struct xfs_da_state     *state)
+{
+       int                     error = 0;
+
+       error = xfs_attr_rmtval_remove(args);
+       if (error)
+               return error;
+
+       /*
+        * Refill the state structure with buffers, the prior calls released our
+        * buffers.
+        */
+       return xfs_attr_refillstate(state);
+}
+
 /*
  * Remove a name from a B-tree attribute list.
  *
@@ -1226,15 +1244,7 @@ xfs_attr_node_removename(
         * overflow the maximum size of a transaction and/or hit a deadlock.
         */
        if (args->rmtblkno > 0) {
-               error = xfs_attr_rmtval_remove(args);
-               if (error)
-                       goto out;
-
-               /*
-                * Refill the state structure with buffers, the prior calls
-                * released our buffers.
-                */
-               error = xfs_attr_refillstate(state);
+               error = xfs_attr_node_remove_rmt(args, state);
                if (error)
                        goto out;
        }