Re: [PATCH 05/32] xfs: remove xfs_flushinval_pages

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

 



> -		if ((iocb->ki_pos & target->bt_smask) ||
> -		    (size & target->bt_smask)) {
> -			if (iocb->ki_pos == i_size_read(inode))
> +		if ((pos & target->bt_smask) || (size & target->bt_smask)) {
> +			if (pos == i_size_read(inode))
>  				return 0;
>  			return -XFS_ERROR(EINVAL);
>  		}
>  	}
>  
> -	n = mp->m_super->s_maxbytes - iocb->ki_pos;
> +	n = mp->m_super->s_maxbytes - pos;

What does this have to do with the recent of the patch?

Not that is diapprove, but I don't think it fits here.

>  		if (inode->i_mapping->nrpages) {
> -			ret = -xfs_flushinval_pages(ip,
> -					(iocb->ki_pos & PAGE_CACHE_MASK),
> -					-1, FI_REMAPF_LOCKED);
> +			ret = -filemap_write_and_wait_range(
> +							VFS_I(ip)->i_mapping,
> +							pos, -1);
>  			if (ret) {
>  				xfs_rw_iunlock(ip, XFS_IOLOCK_EXCL);
>  				return ret;
>  			}
> +			truncate_pagecache_range(VFS_I(ip), pos, -1);

We already have a local "inode" variable that can be used in these two
places.

Also the -1 end might be a 1:1 translation of what was there, but is not what
we really want.  At very least it needs an XXX comment that the range should
be revisited.

> @@ -670,10 +670,11 @@ xfs_file_dio_aio_write(
>  		goto out;
>  
>  	if (mapping->nrpages) {
> -		ret = -xfs_flushinval_pages(ip, (pos & PAGE_CACHE_MASK), -1,
> -							FI_REMAPF_LOCKED);
> +		ret = -filemap_write_and_wait_range(VFS_I(ip)->i_mapping,
> +						    pos, -1);
>  		if (ret)
>  			goto out;
> +		truncate_pagecache_range(VFS_I(ip), pos, -1);

We already have local mapping and inode variables here, same comment
about the -1 len.

_______________________________________________
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