Re: [PATCH 15/25] xfs: pass bmalloca structure to xfs_bmap_isaeof

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

 



On Wed, 2011-08-24 at 02:04 -0400, Christoph Hellwig wrote:
> All the variables xfs_bmap_isaeof() is passed are contained within
> the xfs_bmalloca structure. Pass that instead.
> 
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>

This looks good.

Now that the transaction pointer is available in
xfs_bmap_isaeof(), it gets used in the call to
xfs_bmap_last_extent().  It looks to me like
this means btree block buffers will be added to
and removed from the transaction's item list
in xfs_bmap_read_extents(), and that list will
be scanned for these buffers in xfs_trans_read_buf()
(unlike before).

I don't question whether that's correct, but
is that desirable?  Would we be just as well
off *not* providing the transaction pointer?

Anyway:

Reviewed-by: Alex Elder <aelder@xxxxxxx>
 
> Index: xfs/fs/xfs/xfs_bmap.c
> ===================================================================
> --- xfs.orig/fs/xfs/xfs_bmap.c	2011-08-23 21:14:33.735424450 +0200
> +++ xfs/fs/xfs/xfs_bmap.c	2011-08-23 21:14:35.358748989 +0200
> @@ -3869,17 +3869,16 @@ xfs_bmap_last_extent(
>   */
>  STATIC int
>  xfs_bmap_isaeof(
> -	struct xfs_inode	*ip,
> -	xfs_fileoff_t		off,
> -	int			whichfork,
> -	char			*aeof)
> +	struct xfs_bmalloca	*bma,
> +	int			whichfork)
>  {
>  	struct xfs_bmbt_irec	rec;
>  	int			is_empty;
>  	int			error;
>  
> -	*aeof = 0;
> -	error = xfs_bmap_last_extent(NULL, ip, whichfork, &rec, &is_empty);
> +	bma->aeof = 0;
> +	error = xfs_bmap_last_extent(bma->tp, bma->ip, whichfork, &rec,
> +				     &is_empty);

Here is the spot I'm referring to.

>  	if (error || is_empty)
>  		return error;
>  


_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux