Re: [PATCH RESEND v18 01/11] xfs: Reverse apply 72b97ea40d

Darrick J. Wong
2021-05-13T23:14:39Z

On Wed, May 12, 2021 at 09:13:58AM -0700, Allison Henderson wrote:
> Originally we added this patch to help modularize the attr code in
> preparation for delayed attributes and the state machine it requires.
> However, later reviews found that this slightly alters the transaction
> handling as the helper function is ambiguous as to whether the
> transaction is diry or clean. This may cause a dirty transaction to be
> included in the next roll, where previously it had not. To preserve the
> existing code flow, we reverse apply this commit.
>
> Signed-off-by: Allison Henderson <allison.henderson@oracle.com>
> Reviewed-by: Brian Foster <bfoster@redhat.com>
> Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com>

Looks fine I guess...
Reviewed-by: Darrick J. Wong <djwong@kernel.org>

--D

> ---
> fs/xfs/libxfs/xfs_attr.c | 28 +++++++++-------------------
> 1 file changed, 9 insertions(+), 19 deletions(-)
>
> diff --git a/fs/xfs/libxfs/xfs_attr.c b/fs/xfs/libxfs/xfs_attr.c
> index 96146f4..190b46d 100644
> --- a/fs/xfs/libxfs/xfs_attr.c
> +++ b/fs/xfs/libxfs/xfs_attr.c
> @@ -1214,24 +1214,6 @@ 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.
> *
> @@ -1260,7 +1242,15 @@ xfs_attr_node_removename(
> * overflow the maximum size of a transaction and/or hit a deadlock.
> */
> if (args->rmtblkno > 0) {
> - error = xfs_attr_node_remove_rmt(args, state);
> + 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);
> if (error)
> goto out;
> }
> --
> 2.7.4
>