Merge branch 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block: (149 commits) block: make sure that REQ_* types are seen even with CONFIG_BLOCK=n xen-blkfront: fix missing out label blkdev: fix blkdev_issue_zeroout return value block: update request stacking methods to support discards block: fix missing export of blk_types.h writeback: fix bad _bh spinlock nesting drbd: revert "delay probes", feature is being re-implemented differently drbd: Initialize all members of sync_conf to their defaults [Bugz 315] drbd: Disable delay probes for the upcomming release writeback: cleanup bdi_register writeback: add new tracepoints writeback: remove unnecessary init_timer call writeback: optimize periodic bdi thread wakeups writeback: prevent unnecessary bdi threads wakeups writeback: move bdi threads exiting logic to the forker thread writeback: restructure bdi forker loop a little writeback: move last_active to bdi writeback: do not remove bdi from bdi_list writeback: simplify bdi code a little writeback: do not lose wake-ups in bdi threads ... Fixed up pretty trivial conflicts in drivers/block/virtio_blk.c and drivers/scsi/scsi_error.c as per Jens.
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
#include <linux/syscalls.h>
|
||||
#include <linux/buffer_head.h>
|
||||
#include <linux/pagevec.h>
|
||||
#include <trace/events/writeback.h>
|
||||
|
||||
/*
|
||||
* After a CPU has dirtied this many pages, balance_dirty_pages_ratelimited
|
||||
@@ -535,11 +536,13 @@ static void balance_dirty_pages(struct address_space *mapping,
|
||||
* threshold otherwise wait until the disk writes catch
|
||||
* up.
|
||||
*/
|
||||
trace_wbc_balance_dirty_start(&wbc, bdi);
|
||||
if (bdi_nr_reclaimable > bdi_thresh) {
|
||||
writeback_inodes_wb(&bdi->wb, &wbc);
|
||||
pages_written += write_chunk - wbc.nr_to_write;
|
||||
get_dirty_limits(&background_thresh, &dirty_thresh,
|
||||
&bdi_thresh, bdi);
|
||||
trace_wbc_balance_dirty_written(&wbc, bdi);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -565,6 +568,7 @@ static void balance_dirty_pages(struct address_space *mapping,
|
||||
if (pages_written >= write_chunk)
|
||||
break; /* We've done our duty */
|
||||
|
||||
trace_wbc_balance_dirty_wait(&wbc, bdi);
|
||||
__set_current_state(TASK_INTERRUPTIBLE);
|
||||
io_schedule_timeout(pause);
|
||||
|
||||
@@ -962,6 +966,7 @@ continue_unlock:
|
||||
if (!clear_page_dirty_for_io(page))
|
||||
goto continue_unlock;
|
||||
|
||||
trace_wbc_writepage(wbc, mapping->backing_dev_info);
|
||||
ret = (*writepage)(page, wbc, data);
|
||||
if (unlikely(ret)) {
|
||||
if (ret == AOP_WRITEPAGE_ACTIVATE) {
|
||||
|
Reference in New Issue
Block a user