Commit 72b97ea4 authored by Allison Collins's avatar Allison Collins Committed by Darrick J. Wong
Browse files

xfs: Add helper function xfs_attr_node_removename_rmt



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: default avatarAllison Collins <allison.henderson@oracle.com>
Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
Reviewed-by: default avatarChandan Rajendra <chandanrlinux@gmail.com>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Acked-by: default avatarDave Chinner <dchinner@redhat.com>
parent 674eb548
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
@@ -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;
	}