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

xfs: Pull up xfs_attr_rmtval_invalidate



This patch pulls xfs_attr_rmtval_invalidate out of
xfs_attr_rmtval_remove and into the calling functions.  Eventually
__xfs_attr_rmtval_remove will replace xfs_attr_rmtval_remove when we
introduce delayed attributes.  These functions are exepcted to return
-EAGAIN when they need a new transaction.  Because the invalidate does
not need a new transaction, we need to separate it from the rest of the
function that does.  This will enable __xfs_attr_rmtval_remove to
smoothly replace xfs_attr_rmtval_remove later.

Signed-off-by: default avatarAllison Collins <allison.henderson@oracle.com>
Reviewed-by: default avatarBrian Foster <bfoster@redhat.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 8b8e0cc0
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -670,6 +670,10 @@ xfs_attr_leaf_addname(
		args->rmtblkcnt = args->rmtblkcnt2;
		args->rmtvaluelen = args->rmtvaluelen2;
		if (args->rmtblkno) {
			error = xfs_attr_rmtval_invalidate(args);
			if (error)
				return error;

			error = xfs_attr_rmtval_remove(args);
			if (error)
				return error;
@@ -1023,6 +1027,10 @@ restart:
		args->rmtblkcnt = args->rmtblkcnt2;
		args->rmtvaluelen = args->rmtvaluelen2;
		if (args->rmtblkno) {
			error = xfs_attr_rmtval_invalidate(args);
			if (error)
				return error;

			error = xfs_attr_rmtval_remove(args);
			if (error)
				return error;
@@ -1147,6 +1155,10 @@ xfs_attr_node_removename(
		if (error)
			goto out;

		error = xfs_attr_rmtval_invalidate(args);
		if (error)
			return error;

		error = xfs_attr_rmtval_remove(args);
		if (error)
			goto out;
+0 −3
Original line number Diff line number Diff line
@@ -683,9 +683,6 @@ xfs_attr_rmtval_remove(

	trace_xfs_attr_rmtval_remove(args);

	error = xfs_attr_rmtval_invalidate(args);
	if (error)
		return error;
	/*
	 * Keep de-allocating extents until the remote-value region is gone.
	 */