[PATCH 05/32] xfs: remove xfs_flushinval_pages
Christoph Hellwig
hch at infradead.org
Thu Nov 15 10:28:07 CST 2012
> - 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.
More information about the xfs
mailing list