[XFS] stop background sync from waiting for in-use inodes
authorDaniel Moore <dxm@sgi.com>
Thu, 5 May 2005 20:31:34 +0000 (13:31 -0700)
committerChristoph Hellwig <hch@melbourne.sgi.com>
Thu, 5 May 2005 20:31:34 +0000 (13:31 -0700)
SGI Modid: xfs-linux:xfs-kern:191586a

Signed-off-by: Daniel Moore <dxm@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
fs/xfs/linux-2.6/xfs_aops.c

index 76a84758073a8eb429f933ac3b6c71b40b50c385..1e71a9633d8facbddd16a6e61e9aa959ee660ae9 100644 (file)
@@ -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;