summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorDaniel Moore <dxm@sgi.com>2005-05-06 00:31:34 +0400
committerChristoph Hellwig <hch@melbourne.sgi.com>2005-05-06 00:31:34 +0400
commit3ba0815a4b0709ef5e7b481067573d10806bbe2c (patch)
tree0f42aebeef2638661c22e88b4bc374eebc1ac23b /fs
parent3f243766660da3df4a75ea1892c310d6080646c8 (diff)
downloadlinux-3ba0815a4b0709ef5e7b481067573d10806bbe2c.tar.xz
[XFS] stop background sync from waiting for in-use inodes
SGI Modid: xfs-linux:xfs-kern:191586a Signed-off-by: Daniel Moore <dxm@sgi.com> Signed-off-by: Christoph Hellwig <hch@sgi.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/linux-2.6/xfs_aops.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c
index 76a84758073a..1e71a9633d8f 100644
--- a/fs/xfs/linux-2.6/xfs_aops.c
+++ b/fs/xfs/linux-2.6/xfs_aops.c
@@ -725,9 +725,12 @@ xfs_page_state_convert(
__uint64_t end_offset;
pgoff_t end_index, last_index, tlast;
int len, err, i, cnt = 0, uptodate = 1;
- int flags = startio ? 0 : BMAPI_TRYLOCK;
+ int flags;
int page_dirty, delalloc = 0;
+ /* wait for other IO threads? */
+ flags = (startio && wbc->sync_mode != WB_SYNC_NONE) ? 0 : BMAPI_TRYLOCK;
+
/* Is this page beyond the end of the file? */
offset = i_size_read(inode);
end_index = offset >> PAGE_CACHE_SHIFT;