Skip to content

Commit

Permalink
[XFS] fix writeback control handling fix a reversed condition on wher…
Browse files Browse the repository at this point in the history
…e to

trylock and deal with block layer congestion properly.	Patch from David
Chinner and Christoph Hellwig.

SGI-PV: 947118
SGI-Modid: xfs-linux-melb:xfs-kern:203830a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
  • Loading branch information
Christoph Hellwig authored and Nathan Scott committed Jan 11, 2006
1 parent 6c4fe19 commit f5e596b
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions fs/xfs/linux-2.6/xfs_aops.c
Original file line number Diff line number Diff line change
Expand Up @@ -722,8 +722,17 @@ xfs_convert_page(
SetPageUptodate(page);

if (startio) {
if (count)
wbc->nr_to_write--;
if (count) {
struct backing_dev_info *bdi;

bdi = inode->i_mapping->backing_dev_info;
if (bdi_write_congested(bdi)) {
wbc->encountered_congestion = 1;
done = 1;
} else if (--wbc->nr_to_write <= 0) {
done = 1;
}
}
xfs_start_page_writeback(page, wbc, !page_dirty, count);
}

Expand Down Expand Up @@ -812,7 +821,7 @@ xfs_page_state_convert(
int all_bh = unmapped;

/* wait for other IO threads? */
if (startio && wbc->sync_mode != WB_SYNC_NONE)
if (startio && (wbc->sync_mode == WB_SYNC_NONE && wbc->nonblocking))
trylock_flag |= BMAPI_TRYLOCK;

/* Is this page beyond the end of the file? */
Expand Down

0 comments on commit f5e596b

Please sign in to comment.