> - 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