Re: [PATCH 09/24] xfs: replace xfs_da_args->dfops accesses with ->t_dfops and remove

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 28, 2018 at 12:36:21PM -0400, Brian Foster wrote:
> Now that xfs_da_args->dfops is always assigned from a ->t_dfops
> pointer (or one that is immediately attached), replace all
> downstream accesses of the former with the latter and remove the
> field from struct xfs_da_args.
> 
> Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx>

Looks ok,
Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>

--D

> ---
>  fs/xfs/libxfs/xfs_attr.c        | 103 ++++++++++++++++----------------
>  fs/xfs/libxfs/xfs_attr_leaf.c   |  24 ++++----
>  fs/xfs/libxfs/xfs_attr_remote.c |  23 +++----
>  fs/xfs/libxfs/xfs_bmap.c        |   1 -
>  fs/xfs/libxfs/xfs_da_btree.c    |  19 +++---
>  fs/xfs/libxfs/xfs_da_btree.h    |   1 -
>  fs/xfs/libxfs/xfs_dir2.c        |  65 ++++++++++----------
>  7 files changed, 117 insertions(+), 119 deletions(-)
> 
> diff --git a/fs/xfs/libxfs/xfs_attr.c b/fs/xfs/libxfs/xfs_attr.c
> index cc23c269f2bf..a14ab9b2669e 100644
> --- a/fs/xfs/libxfs/xfs_attr.c
> +++ b/fs/xfs/libxfs/xfs_attr.c
> @@ -220,7 +220,6 @@ xfs_attr_set(
>  	args.value = value;
>  	args.valuelen = valuelen;
>  	args.firstblock = &firstblock;
> -	args.dfops = &dfops;
>  	args.op_flags = XFS_DA_OP_ADDNAME | XFS_DA_OP_OKNOENT;
>  	args.total = xfs_attr_calc_size(&args, &local);
>  
> @@ -407,7 +406,6 @@ xfs_attr_remove(
>  		return error;
>  
>  	args.firstblock = &firstblock;
> -	args.dfops = &dfops;
>  
>  	/*
>  	 * we have no control over the attribute names that userspace passes us
> @@ -539,11 +537,12 @@ xfs_attr_shortform_addname(xfs_da_args_t *args)
>   * if bmap_one_block() says there is only one block (ie: no remote blks).
>   */
>  STATIC int
> -xfs_attr_leaf_addname(xfs_da_args_t *args)
> +xfs_attr_leaf_addname(
> +	struct xfs_da_args	*args)
>  {
> -	xfs_inode_t *dp;
> -	struct xfs_buf *bp;
> -	int retval, error, forkoff;
> +	struct xfs_inode	*dp;
> +	struct xfs_buf		*bp;
> +	int			retval, error, forkoff;
>  
>  	trace_xfs_attr_leaf_addname(args);
>  
> @@ -601,12 +600,12 @@ xfs_attr_leaf_addname(xfs_da_args_t *args)
>  		 * Commit that transaction so that the node_addname() call
>  		 * can manage its own transactions.
>  		 */
> -		xfs_defer_init(args->dfops, args->firstblock);
> +		xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  		error = xfs_attr3_leaf_to_node(args);
>  		if (error)
>  			goto out_defer_cancel;
> -		xfs_defer_ijoin(args->dfops, dp);
> -		error = xfs_defer_finish(&args->trans, args->dfops);
> +		xfs_defer_ijoin(args->trans->t_dfops, dp);
> +		error = xfs_defer_finish(&args->trans, args->trans->t_dfops);
>  		if (error)
>  			goto out_defer_cancel;
>  
> @@ -690,13 +689,13 @@ xfs_attr_leaf_addname(xfs_da_args_t *args)
>  		 * If the result is small enough, shrink it all into the inode.
>  		 */
>  		if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
> -			xfs_defer_init(args->dfops, args->firstblock);
> +			xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  			error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
>  			/* bp is gone due to xfs_da_shrink_inode */
>  			if (error)
>  				goto out_defer_cancel;
> -			xfs_defer_ijoin(args->dfops, dp);
> -			error = xfs_defer_finish(&args->trans, args->dfops);
> +			xfs_defer_ijoin(args->trans->t_dfops, dp);
> +			error = xfs_defer_finish(&args->trans, args->trans->t_dfops);
>  			if (error)
>  				goto out_defer_cancel;
>  		}
> @@ -714,7 +713,7 @@ xfs_attr_leaf_addname(xfs_da_args_t *args)
>  	}
>  	return error;
>  out_defer_cancel:
> -	xfs_defer_cancel(args->dfops);
> +	xfs_defer_cancel(args->trans->t_dfops);
>  	return error;
>  }
>  
> @@ -725,11 +724,12 @@ xfs_attr_leaf_addname(xfs_da_args_t *args)
>   * if bmap_one_block() says there is only one block (ie: no remote blks).
>   */
>  STATIC int
> -xfs_attr_leaf_removename(xfs_da_args_t *args)
> +xfs_attr_leaf_removename(
> +	struct xfs_da_args	*args)
>  {
> -	xfs_inode_t *dp;
> -	struct xfs_buf *bp;
> -	int error, forkoff;
> +	struct xfs_inode	*dp;
> +	struct xfs_buf		*bp;
> +	int			error, forkoff;
>  
>  	trace_xfs_attr_leaf_removename(args);
>  
> @@ -754,19 +754,19 @@ xfs_attr_leaf_removename(xfs_da_args_t *args)
>  	 * If the result is small enough, shrink it all into the inode.
>  	 */
>  	if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
> -		xfs_defer_init(args->dfops, args->firstblock);
> +		xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  		error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
>  		/* bp is gone due to xfs_da_shrink_inode */
>  		if (error)
>  			goto out_defer_cancel;
> -		xfs_defer_ijoin(args->dfops, dp);
> -		error = xfs_defer_finish(&args->trans, args->dfops);
> +		xfs_defer_ijoin(args->trans->t_dfops, dp);
> +		error = xfs_defer_finish(&args->trans, args->trans->t_dfops);
>  		if (error)
>  			goto out_defer_cancel;
>  	}
>  	return 0;
>  out_defer_cancel:
> -	xfs_defer_cancel(args->dfops);
> +	xfs_defer_cancel(args->trans->t_dfops);
>  	return error;
>  }
>  
> @@ -817,13 +817,14 @@ xfs_attr_leaf_get(xfs_da_args_t *args)
>   * add a whole extra layer of confusion on top of that.
>   */
>  STATIC int
> -xfs_attr_node_addname(xfs_da_args_t *args)
> +xfs_attr_node_addname(
> +	struct xfs_da_args	*args)
>  {
> -	xfs_da_state_t *state;
> -	xfs_da_state_blk_t *blk;
> -	xfs_inode_t *dp;
> -	xfs_mount_t *mp;
> -	int retval, error;
> +	struct xfs_da_state	*state;
> +	struct xfs_da_state_blk	*blk;
> +	struct xfs_inode	*dp;
> +	struct xfs_mount	*mp;
> +	int			retval, error;
>  
>  	trace_xfs_attr_node_addname(args);
>  
> @@ -882,12 +883,13 @@ xfs_attr_node_addname(xfs_da_args_t *args)
>  			 */
>  			xfs_da_state_free(state);
>  			state = NULL;
> -			xfs_defer_init(args->dfops, args->firstblock);
> +			xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  			error = xfs_attr3_leaf_to_node(args);
>  			if (error)
>  				goto out_defer_cancel;
> -			xfs_defer_ijoin(args->dfops, dp);
> -			error = xfs_defer_finish(&args->trans, args->dfops);
> +			xfs_defer_ijoin(args->trans->t_dfops, dp);
> +			error = xfs_defer_finish(&args->trans,
> +						 args->trans->t_dfops);
>  			if (error)
>  				goto out_defer_cancel;
>  
> @@ -908,12 +910,12 @@ xfs_attr_node_addname(xfs_da_args_t *args)
>  		 * in the index/blkno/rmtblkno/rmtblkcnt fields and
>  		 * in the index2/blkno2/rmtblkno2/rmtblkcnt2 fields.
>  		 */
> -		xfs_defer_init(args->dfops, args->firstblock);
> +		xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  		error = xfs_da3_split(state);
>  		if (error)
>  			goto out_defer_cancel;
> -		xfs_defer_ijoin(args->dfops, dp);
> -		error = xfs_defer_finish(&args->trans, args->dfops);
> +		xfs_defer_ijoin(args->trans->t_dfops, dp);
> +		error = xfs_defer_finish(&args->trans, args->trans->t_dfops);
>  		if (error)
>  			goto out_defer_cancel;
>  	} else {
> @@ -1006,12 +1008,12 @@ xfs_attr_node_addname(xfs_da_args_t *args)
>  		 * Check to see if the tree needs to be collapsed.
>  		 */
>  		if (retval && (state->path.active > 1)) {
> -			xfs_defer_init(args->dfops, args->firstblock);
> +			xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  			error = xfs_da3_join(state);
>  			if (error)
>  				goto out_defer_cancel;
> -			xfs_defer_ijoin(args->dfops, dp);
> -			error = xfs_defer_finish(&args->trans, args->dfops);
> +			xfs_defer_ijoin(args->trans->t_dfops, dp);
> +			error = xfs_defer_finish(&args->trans, args->trans->t_dfops);
>  			if (error)
>  				goto out_defer_cancel;
>  		}
> @@ -1040,7 +1042,7 @@ xfs_attr_node_addname(xfs_da_args_t *args)
>  		return error;
>  	return retval;
>  out_defer_cancel:
> -	xfs_defer_cancel(args->dfops);
> +	xfs_defer_cancel(args->trans->t_dfops);
>  	goto out;
>  }
>  
> @@ -1052,13 +1054,14 @@ xfs_attr_node_addname(xfs_da_args_t *args)
>   * the root node (a special case of an intermediate node).
>   */
>  STATIC int
> -xfs_attr_node_removename(xfs_da_args_t *args)
> +xfs_attr_node_removename(
> +	struct xfs_da_args	*args)
>  {
> -	xfs_da_state_t *state;
> -	xfs_da_state_blk_t *blk;
> -	xfs_inode_t *dp;
> -	struct xfs_buf *bp;
> -	int retval, error, forkoff;
> +	struct xfs_da_state	*state;
> +	struct xfs_da_state_blk	*blk;
> +	struct xfs_inode	*dp;
> +	struct xfs_buf		*bp;
> +	int			retval, error, forkoff;
>  
>  	trace_xfs_attr_node_removename(args);
>  
> @@ -1130,12 +1133,12 @@ xfs_attr_node_removename(xfs_da_args_t *args)
>  	 * Check to see if the tree needs to be collapsed.
>  	 */
>  	if (retval && (state->path.active > 1)) {
> -		xfs_defer_init(args->dfops, args->firstblock);
> +		xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  		error = xfs_da3_join(state);
>  		if (error)
>  			goto out_defer_cancel;
> -		xfs_defer_ijoin(args->dfops, dp);
> -		error = xfs_defer_finish(&args->trans, args->dfops);
> +		xfs_defer_ijoin(args->trans->t_dfops, dp);
> +		error = xfs_defer_finish(&args->trans, args->trans->t_dfops);
>  		if (error)
>  			goto out_defer_cancel;
>  		/*
> @@ -1162,13 +1165,13 @@ xfs_attr_node_removename(xfs_da_args_t *args)
>  			goto out;
>  
>  		if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
> -			xfs_defer_init(args->dfops, args->firstblock);
> +			xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  			error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
>  			/* bp is gone due to xfs_da_shrink_inode */
>  			if (error)
>  				goto out_defer_cancel;
> -			xfs_defer_ijoin(args->dfops, dp);
> -			error = xfs_defer_finish(&args->trans, args->dfops);
> +			xfs_defer_ijoin(args->trans->t_dfops, dp);
> +			error = xfs_defer_finish(&args->trans, args->trans->t_dfops);
>  			if (error)
>  				goto out_defer_cancel;
>  		} else
> @@ -1180,7 +1183,7 @@ xfs_attr_node_removename(xfs_da_args_t *args)
>  	xfs_da_state_free(state);
>  	return error;
>  out_defer_cancel:
> -	xfs_defer_cancel(args->dfops);
> +	xfs_defer_cancel(args->trans->t_dfops);
>  	goto out;
>  }
>  
> diff --git a/fs/xfs/libxfs/xfs_attr_leaf.c b/fs/xfs/libxfs/xfs_attr_leaf.c
> index 76e90046731c..c131469db0f1 100644
> --- a/fs/xfs/libxfs/xfs_attr_leaf.c
> +++ b/fs/xfs/libxfs/xfs_attr_leaf.c
> @@ -747,18 +747,18 @@ xfs_attr_shortform_getvalue(xfs_da_args_t *args)
>   */
>  int
>  xfs_attr_shortform_to_leaf(
> -	struct xfs_da_args	*args,
> -	struct xfs_buf		**leaf_bp)
> +	struct xfs_da_args		*args,
> +	struct xfs_buf			**leaf_bp)
>  {
> -	xfs_inode_t *dp;
> -	xfs_attr_shortform_t *sf;
> -	xfs_attr_sf_entry_t *sfe;
> -	xfs_da_args_t nargs;
> -	char *tmpbuffer;
> -	int error, i, size;
> -	xfs_dablk_t blkno;
> -	struct xfs_buf *bp;
> -	xfs_ifork_t *ifp;
> +	struct xfs_inode		*dp;
> +	struct xfs_attr_shortform	*sf;
> +	struct xfs_attr_sf_entry	*sfe;
> +	struct xfs_da_args		nargs;
> +	char				*tmpbuffer;
> +	int				error, i, size;
> +	xfs_dablk_t			blkno;
> +	struct xfs_buf			*bp;
> +	struct xfs_ifork		*ifp;
>  
>  	trace_xfs_attr_sf_to_leaf(args);
>  
> @@ -803,7 +803,6 @@ xfs_attr_shortform_to_leaf(
>  	nargs.dp = dp;
>  	nargs.geo = args->geo;
>  	nargs.firstblock = args->firstblock;
> -	nargs.dfops = args->dfops;
>  	nargs.total = args->total;
>  	nargs.whichfork = XFS_ATTR_FORK;
>  	nargs.trans = args->trans;
> @@ -1007,7 +1006,6 @@ xfs_attr3_leaf_to_shortform(
>  	nargs.geo = args->geo;
>  	nargs.dp = dp;
>  	nargs.firstblock = args->firstblock;
> -	nargs.dfops = args->dfops;
>  	nargs.total = args->total;
>  	nargs.whichfork = XFS_ATTR_FORK;
>  	nargs.trans = args->trans;
> diff --git a/fs/xfs/libxfs/xfs_attr_remote.c b/fs/xfs/libxfs/xfs_attr_remote.c
> index bf2e0371149b..577c4c372265 100644
> --- a/fs/xfs/libxfs/xfs_attr_remote.c
> +++ b/fs/xfs/libxfs/xfs_attr_remote.c
> @@ -480,15 +480,16 @@ xfs_attr_rmtval_set(
>  		 * extent and then crash then the block may not contain the
>  		 * correct metadata after log recovery occurs.
>  		 */
> -		xfs_defer_init(args->dfops, args->firstblock);
> +		xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  		nmap = 1;
>  		error = xfs_bmapi_write(args->trans, dp, (xfs_fileoff_t)lblkno,
>  				  blkcnt, XFS_BMAPI_ATTRFORK, args->firstblock,
> -				  args->total, &map, &nmap, args->dfops);
> +				  args->total, &map, &nmap,
> +				  args->trans->t_dfops);
>  		if (error)
>  			goto out_defer_cancel;
> -		xfs_defer_ijoin(args->dfops, dp);
> -		error = xfs_defer_finish(&args->trans, args->dfops);
> +		xfs_defer_ijoin(args->trans->t_dfops, dp);
> +		error = xfs_defer_finish(&args->trans, args->trans->t_dfops);
>  		if (error)
>  			goto out_defer_cancel;
>  
> @@ -522,7 +523,7 @@ xfs_attr_rmtval_set(
>  
>  		ASSERT(blkcnt > 0);
>  
> -		xfs_defer_init(args->dfops, args->firstblock);
> +		xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  		nmap = 1;
>  		error = xfs_bmapi_read(dp, (xfs_fileoff_t)lblkno,
>  				       blkcnt, &map, &nmap,
> @@ -557,7 +558,7 @@ xfs_attr_rmtval_set(
>  	ASSERT(valuelen == 0);
>  	return 0;
>  out_defer_cancel:
> -	xfs_defer_cancel(args->dfops);
> +	xfs_defer_cancel(args->trans->t_dfops);
>  	args->trans = NULL;
>  	return error;
>  }
> @@ -626,14 +627,14 @@ xfs_attr_rmtval_remove(
>  	blkcnt = args->rmtblkcnt;
>  	done = 0;
>  	while (!done) {
> -		xfs_defer_init(args->dfops, args->firstblock);
> +		xfs_defer_init(args->trans->t_dfops, args->firstblock);
>  		error = xfs_bunmapi(args->trans, args->dp, lblkno, blkcnt,
>  				    XFS_BMAPI_ATTRFORK, 1, args->firstblock,
> -				    args->dfops, &done);
> +				    args->trans->t_dfops, &done);
>  		if (error)
>  			goto out_defer_cancel;
> -		xfs_defer_ijoin(args->dfops, args->dp);
> -		error = xfs_defer_finish(&args->trans, args->dfops);
> +		xfs_defer_ijoin(args->trans->t_dfops, args->dp);
> +		error = xfs_defer_finish(&args->trans, args->trans->t_dfops);
>  		if (error)
>  			goto out_defer_cancel;
>  
> @@ -646,7 +647,7 @@ xfs_attr_rmtval_remove(
>  	}
>  	return 0;
>  out_defer_cancel:
> -	xfs_defer_cancel(args->dfops);
> +	xfs_defer_cancel(args->trans->t_dfops);
>  	args->trans = NULL;
>  	return error;
>  }
> diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
> index dbd07b0adfa3..93dbcf678e54 100644
> --- a/fs/xfs/libxfs/xfs_bmap.c
> +++ b/fs/xfs/libxfs/xfs_bmap.c
> @@ -1007,7 +1007,6 @@ xfs_bmap_add_attrfork_local(
>  		dargs.geo = ip->i_mount->m_dir_geo;
>  		dargs.dp = ip;
>  		dargs.firstblock = firstblock;
> -		dargs.dfops = tp->t_dfops;
>  		dargs.total = dargs.geo->fsbcount;
>  		dargs.whichfork = XFS_DATA_FORK;
>  		dargs.trans = tp;
> diff --git a/fs/xfs/libxfs/xfs_da_btree.c b/fs/xfs/libxfs/xfs_da_btree.c
> index 8a301402bbc4..d2048e4e93ec 100644
> --- a/fs/xfs/libxfs/xfs_da_btree.c
> +++ b/fs/xfs/libxfs/xfs_da_btree.c
> @@ -2063,7 +2063,7 @@ xfs_da_grow_inode_int(
>  	error = xfs_bmapi_write(tp, dp, *bno, count,
>  			xfs_bmapi_aflag(w)|XFS_BMAPI_METADATA|XFS_BMAPI_CONTIG,
>  			args->firstblock, args->total, &map, &nmap,
> -			args->dfops);
> +			args->trans->t_dfops);
>  	if (error)
>  		return error;
>  
> @@ -2086,7 +2086,8 @@ xfs_da_grow_inode_int(
>  			error = xfs_bmapi_write(tp, dp, b, c,
>  					xfs_bmapi_aflag(w)|XFS_BMAPI_METADATA,
>  					args->firstblock, args->total,
> -					&mapp[mapi], &nmap, args->dfops);
> +					&mapp[mapi], &nmap,
> +					args->trans->t_dfops);
>  			if (error)
>  				goto out_free_map;
>  			if (nmap < 1)
> @@ -2375,13 +2376,13 @@ xfs_da3_swap_lastblock(
>   */
>  int
>  xfs_da_shrink_inode(
> -	xfs_da_args_t	*args,
> -	xfs_dablk_t	dead_blkno,
> -	struct xfs_buf	*dead_buf)
> +	struct xfs_da_args	*args,
> +	xfs_dablk_t		dead_blkno,
> +	struct xfs_buf		*dead_buf)
>  {
> -	xfs_inode_t *dp;
> -	int done, error, w, count;
> -	xfs_trans_t *tp;
> +	struct xfs_inode	*dp;
> +	int			done, error, w, count;
> +	struct xfs_trans	*tp;
>  
>  	trace_xfs_da_shrink_inode(args);
>  
> @@ -2396,7 +2397,7 @@ xfs_da_shrink_inode(
>  		 */
>  		error = xfs_bunmapi(tp, dp, dead_blkno, count,
>  				    xfs_bmapi_aflag(w), 0, args->firstblock,
> -				    args->dfops, &done);
> +				    args->trans->t_dfops, &done);
>  		if (error == -ENOSPC) {
>  			if (w != XFS_DATA_FORK)
>  				break;
> diff --git a/fs/xfs/libxfs/xfs_da_btree.h b/fs/xfs/libxfs/xfs_da_btree.h
> index 28260073ae71..6b8a04f3f162 100644
> --- a/fs/xfs/libxfs/xfs_da_btree.h
> +++ b/fs/xfs/libxfs/xfs_da_btree.h
> @@ -58,7 +58,6 @@ typedef struct xfs_da_args {
>  	xfs_ino_t	inumber;	/* input/output inode number */
>  	struct xfs_inode *dp;		/* directory inode to manipulate */
>  	xfs_fsblock_t	*firstblock;	/* ptr to firstblock for bmap calls */
> -	struct xfs_defer_ops *dfops;	/* ptr to freelist for bmap_finish */
>  	struct xfs_trans *trans;	/* current trans (changes over time) */
>  	xfs_extlen_t	total;		/* total blocks needed, for 1st bmap */
>  	int		whichfork;	/* data or attribute fork */
> diff --git a/fs/xfs/libxfs/xfs_dir2.c b/fs/xfs/libxfs/xfs_dir2.c
> index ceedc3d31114..ffa288c37da0 100644
> --- a/fs/xfs/libxfs/xfs_dir2.c
> +++ b/fs/xfs/libxfs/xfs_dir2.c
> @@ -239,8 +239,8 @@ xfs_dir_init(
>   */
>  int
>  xfs_dir_createname(
> -	xfs_trans_t		*tp,
> -	xfs_inode_t		*dp,
> +	struct xfs_trans	*tp,
> +	struct xfs_inode	*dp,
>  	struct xfs_name		*name,
>  	xfs_ino_t		inum,		/* new entry inode number */
>  	xfs_fsblock_t		*first,		/* bmap's firstblock */
> @@ -273,7 +273,6 @@ xfs_dir_createname(
>  	args->whichfork = XFS_DATA_FORK;
>  	args->trans = tp;
>  	ASSERT(tp->t_dfops || !first);
> -	args->dfops = tp->t_dfops;
>  	args->firstblock = first;
>  	args->op_flags = XFS_DA_OP_ADDNAME | XFS_DA_OP_OKNOENT;
>  	if (!inum)
> @@ -416,16 +415,16 @@ xfs_dir_lookup(
>   */
>  int
>  xfs_dir_removename(
> -	xfs_trans_t	*tp,
> -	xfs_inode_t	*dp,
> -	struct xfs_name	*name,
> -	xfs_ino_t	ino,
> -	xfs_fsblock_t	*first,		/* bmap's firstblock */
> -	xfs_extlen_t	total)		/* bmap's total block count */
> +	struct xfs_trans	*tp,
> +	struct xfs_inode	*dp,
> +	struct xfs_name		*name,
> +	xfs_ino_t		ino,
> +	xfs_fsblock_t		*first,		/* bmap's firstblock */
> +	xfs_extlen_t		total)		/* bmap's total block count */
>  {
> -	struct xfs_da_args *args;
> -	int		rval;
> -	int		v;		/* type-checking value */
> +	struct xfs_da_args	*args;
> +	int			rval;
> +	int			v;		/* type-checking value */
>  
>  	ASSERT(S_ISDIR(VFS_I(dp)->i_mode));
>  	XFS_STATS_INC(dp->i_mount, xs_dir_remove);
> @@ -446,7 +445,6 @@ xfs_dir_removename(
>  	args->whichfork = XFS_DATA_FORK;
>  	args->trans = tp;
>  	ASSERT(tp->t_dfops);
> -	args->dfops = tp->t_dfops;
>  
>  	if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) {
>  		rval = xfs_dir2_sf_removename(args);
> @@ -478,16 +476,16 @@ xfs_dir_removename(
>   */
>  int
>  xfs_dir_replace(
> -	xfs_trans_t	*tp,
> -	xfs_inode_t	*dp,
> -	struct xfs_name	*name,		/* name of entry to replace */
> -	xfs_ino_t	inum,		/* new inode number */
> -	xfs_fsblock_t	*first,		/* bmap's firstblock */
> -	xfs_extlen_t	total)		/* bmap's total block count */
> +	struct xfs_trans	*tp,
> +	struct xfs_inode	*dp,
> +	struct xfs_name		*name,		/* name of entry to replace */
> +	xfs_ino_t		inum,		/* new inode number */
> +	xfs_fsblock_t		*first,		/* bmap's firstblock */
> +	xfs_extlen_t		total)		/* bmap's total block count */
>  {
> -	struct xfs_da_args *args;
> -	int		rval;
> -	int		v;		/* type-checking value */
> +	struct xfs_da_args	*args;
> +	int			rval;
> +	int			v;		/* type-checking value */
>  
>  	ASSERT(S_ISDIR(VFS_I(dp)->i_mode));
>  
> @@ -511,7 +509,6 @@ xfs_dir_replace(
>  	args->whichfork = XFS_DATA_FORK;
>  	args->trans = tp;
>  	ASSERT(tp->t_dfops);
> -	args->dfops = tp->t_dfops;
>  
>  	if (dp->i_d.di_format == XFS_DINODE_FMT_LOCAL) {
>  		rval = xfs_dir2_sf_replace(args);
> @@ -645,17 +642,17 @@ xfs_dir2_isleaf(
>   */
>  int
>  xfs_dir2_shrink_inode(
> -	xfs_da_args_t	*args,
> -	xfs_dir2_db_t	db,
> -	struct xfs_buf	*bp)
> +	struct xfs_da_args	*args,
> +	xfs_dir2_db_t		db,
> +	struct xfs_buf		*bp)
>  {
> -	xfs_fileoff_t	bno;		/* directory file offset */
> -	xfs_dablk_t	da;		/* directory file offset */
> -	int		done;		/* bunmap is finished */
> -	xfs_inode_t	*dp;
> -	int		error;
> -	xfs_mount_t	*mp;
> -	xfs_trans_t	*tp;
> +	xfs_fileoff_t		bno;		/* directory file offset */
> +	xfs_dablk_t		da;		/* directory file offset */
> +	int			done;		/* bunmap is finished */
> +	struct xfs_inode	*dp;
> +	int			error;
> +	struct xfs_mount	*mp;
> +	struct xfs_trans	*tp;
>  
>  	trace_xfs_dir2_shrink_inode(args, db);
>  
> @@ -666,7 +663,7 @@ xfs_dir2_shrink_inode(
>  
>  	/* Unmap the fsblock(s). */
>  	error = xfs_bunmapi(tp, dp, da, args->geo->fsbcount, 0, 0,
> -			    args->firstblock, args->dfops, &done);
> +			    args->firstblock, args->trans->t_dfops, &done);
>  	if (error) {
>  		/*
>  		 * ENOSPC actually can happen if we're in a removename with no
> -- 
> 2.17.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux