diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-08-23 10:28:13 +0200 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2011-10-12 04:15:01 +0200 |
commit | 4a06fd262dbeb70a2c315f7259e063efa493fe3d (patch) | |
tree | cca4aee6c419a8b3dc267176bb43d93048593919 /fs/xfs/xfs_sync.c | |
parent | xfs: wait for I/O completion when writing out pages in xfs_setattr_size (diff) | |
download | linux-4a06fd262dbeb70a2c315f7259e063efa493fe3d.tar.xz linux-4a06fd262dbeb70a2c315f7259e063efa493fe3d.zip |
xfs: remove i_iocount
We now have an i_dio_count filed and surrounding infrastructure to wait
for direct I/O completion instead of i_icount, and we have never needed
to iocount waits for buffered I/O given that we only set the page uptodate
after finishing all required work. Thus remove i_iocount, and replace
the actually needed waits with calls to inode_dio_wait.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_sync.c')
-rw-r--r-- | fs/xfs/xfs_sync.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/xfs/xfs_sync.c b/fs/xfs/xfs_sync.c index 90cc197e0433..bf2b38c21caa 100644 --- a/fs/xfs/xfs_sync.c +++ b/fs/xfs/xfs_sync.c @@ -227,21 +227,17 @@ xfs_sync_inode_data( int error = 0; if (!mapping_tagged(mapping, PAGECACHE_TAG_DIRTY)) - goto out_wait; + return 0; if (!xfs_ilock_nowait(ip, XFS_IOLOCK_SHARED)) { if (flags & SYNC_TRYLOCK) - goto out_wait; + return 0; xfs_ilock(ip, XFS_IOLOCK_SHARED); } error = xfs_flush_pages(ip, 0, -1, (flags & SYNC_WAIT) ? 0 : XBF_ASYNC, FI_NONE); xfs_iunlock(ip, XFS_IOLOCK_SHARED); - - out_wait: - if (flags & SYNC_WAIT) - xfs_ioend_wait(ip); return error; } |