diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/buffer.c | 7 | ||||
| -rw-r--r-- | fs/fs-writeback.c | 1 | ||||
| -rw-r--r-- | fs/mpage.c | 2 |
3 files changed, 3 insertions, 7 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index 3fc9e47c5a0a..bf6ae714c730 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -127,9 +127,10 @@ void __wait_on_buffer(struct buffer_head * bh) get_bh(bh); do { prepare_to_wait(wqh, &wait, TASK_UNINTERRUPTIBLE); - blk_run_queues(); - if (buffer_locked(bh)) + if (buffer_locked(bh)) { + blk_run_queues(); io_schedule(); + } } while (buffer_locked(bh)); put_bh(bh); finish_wait(wqh, &wait); @@ -959,8 +960,6 @@ no_grow: * the reserve list is empty, we're sure there are * async buffer heads in use. */ - blk_run_queues(); - free_more_memory(); goto try_again; } diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index d3db0faa9abe..1814f7a9b5ce 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -334,7 +334,6 @@ writeback_inodes(struct writeback_control *wbc) } spin_unlock(&sb_lock); spin_unlock(&inode_lock); - blk_run_queues(); } /* diff --git a/fs/mpage.c b/fs/mpage.c index 846ca1aca1bc..3460144c1894 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -618,7 +618,6 @@ mpage_writepages(struct address_space *mapping, int (*writepage)(struct page *page, struct writeback_control *wbc); if (wbc->nonblocking && bdi_write_congested(bdi)) { - blk_run_queues(); wbc->encountered_congestion = 1; return 0; } @@ -673,7 +672,6 @@ mpage_writepages(struct address_space *mapping, if (ret || (--(wbc->nr_to_write) <= 0)) done = 1; if (wbc->nonblocking && bdi_write_congested(bdi)) { - blk_run_queues(); wbc->encountered_congestion = 1; done = 1; } |
