Re: [PATCH 04/11 v2] xfs: add xfs_ilock_attr_map_shared

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

 



On Wed, Dec 18, 2013 at 02:14:39AM -0800, Christoph Hellwig wrote:
> Equivalent to xfs_ilock_data_map_shared, except for the attribute fork.
> 
> Make xfs_getbmap use it if called for the attribute fork instead of
> xfs_ilock_data_map_shared.
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> 
> Index: xfs/fs/xfs/xfs_bmap_util.c
> ===================================================================
> --- xfs.orig/fs/xfs/xfs_bmap_util.c	2013-12-18 11:14:52.587953376 +0100
> +++ xfs/fs/xfs/xfs_bmap_util.c	2013-12-18 11:15:29.367952621 +0100
> @@ -617,22 +617,27 @@ xfs_getbmap(
>  		return XFS_ERROR(ENOMEM);
>  
>  	xfs_ilock(ip, XFS_IOLOCK_SHARED);
> -	if (whichfork == XFS_DATA_FORK && !(iflags & BMV_IF_DELALLOC)) {
> -		if (ip->i_delayed_blks || XFS_ISIZE(ip) > ip->i_d.di_size) {
> +	if (whichfork == XFS_DATA_FORK) {
> +		if (!(iflags & BMV_IF_DELALLOC) &&
> +		    (ip->i_delayed_blks || XFS_ISIZE(ip) > ip->i_d.di_size)) {
>  			error = -filemap_write_and_wait(VFS_I(ip)->i_mapping);
>  			if (error)
>  				goto out_unlock_iolock;
> +
> +			/*
> +			 * Even after flushing the inode, there can still be
> +			 * delalloc blocks on the inode beyond EOF due to
> +			 * speculative preallocation.  These are not removed

This one has a 'p'.

Reviewed-by: Ben Myers <bpm@xxxxxxx>

_______________________________________________
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