diff options
-rw-r--r-- | fs/afs/write.c | 1 | ||||
-rw-r--r-- | fs/btrfs/extent_io.c | 2 | ||||
-rw-r--r-- | fs/fs-writeback.c | 12 | ||||
-rw-r--r-- | include/linux/writeback.h | 5 | ||||
-rw-r--r-- | mm/backing-dev.c | 3 | ||||
-rw-r--r-- | mm/page-writeback.c | 3 |
6 files changed, 6 insertions, 20 deletions
diff --git a/fs/afs/write.c b/fs/afs/write.c index 3dab9e9948d0..722743b152d8 100644 --- a/fs/afs/write.c +++ b/fs/afs/write.c | |||
@@ -680,7 +680,6 @@ int afs_writeback_all(struct afs_vnode *vnode) | |||
680 | { | 680 | { |
681 | struct address_space *mapping = vnode->vfs_inode.i_mapping; | 681 | struct address_space *mapping = vnode->vfs_inode.i_mapping; |
682 | struct writeback_control wbc = { | 682 | struct writeback_control wbc = { |
683 | .bdi = mapping->backing_dev_info, | ||
684 | .sync_mode = WB_SYNC_ALL, | 683 | .sync_mode = WB_SYNC_ALL, |
685 | .nr_to_write = LONG_MAX, | 684 | .nr_to_write = LONG_MAX, |
686 | .range_cyclic = 1, | 685 | .range_cyclic = 1, |
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index a4080c21ec55..d74e6af9b53a 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c | |||
@@ -2594,7 +2594,6 @@ int extent_write_full_page(struct extent_io_tree *tree, struct page *page, | |||
2594 | .sync_io = wbc->sync_mode == WB_SYNC_ALL, | 2594 | .sync_io = wbc->sync_mode == WB_SYNC_ALL, |
2595 | }; | 2595 | }; |
2596 | struct writeback_control wbc_writepages = { | 2596 | struct writeback_control wbc_writepages = { |
2597 | .bdi = wbc->bdi, | ||
2598 | .sync_mode = wbc->sync_mode, | 2597 | .sync_mode = wbc->sync_mode, |
2599 | .older_than_this = NULL, | 2598 | .older_than_this = NULL, |
2600 | .nr_to_write = 64, | 2599 | .nr_to_write = 64, |
@@ -2628,7 +2627,6 @@ int extent_write_locked_range(struct extent_io_tree *tree, struct inode *inode, | |||
2628 | .sync_io = mode == WB_SYNC_ALL, | 2627 | .sync_io = mode == WB_SYNC_ALL, |
2629 | }; | 2628 | }; |
2630 | struct writeback_control wbc_writepages = { | 2629 | struct writeback_control wbc_writepages = { |
2631 | .bdi = inode->i_mapping->backing_dev_info, | ||
2632 | .sync_mode = mode, | 2630 | .sync_mode = mode, |
2633 | .older_than_this = NULL, | 2631 | .older_than_this = NULL, |
2634 | .nr_to_write = nr_pages * 2, | 2632 | .nr_to_write = nr_pages * 2, |
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 6981e4b7c148..94a602e98bb5 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -614,8 +614,8 @@ static int writeback_sb_inodes(struct super_block *sb, | |||
614 | return 1; | 614 | return 1; |
615 | } | 615 | } |
616 | 616 | ||
617 | static void writeback_inodes_wb(struct bdi_writeback *wb, | 617 | void writeback_inodes_wb(struct bdi_writeback *wb, |
618 | struct writeback_control *wbc) | 618 | struct writeback_control *wbc) |
619 | { | 619 | { |
620 | int ret = 0; | 620 | int ret = 0; |
621 | 621 | ||
@@ -660,13 +660,6 @@ static void writeback_inodes_wb(struct bdi_writeback *wb, | |||
660 | /* Leave any unwritten inodes on b_io */ | 660 | /* Leave any unwritten inodes on b_io */ |
661 | } | 661 | } |
662 | 662 | ||
663 | void writeback_inodes_wbc(struct writeback_control *wbc) | ||
664 | { | ||
665 | struct backing_dev_info *bdi = wbc->bdi; | ||
666 | |||
667 | writeback_inodes_wb(&bdi->wb, wbc); | ||
668 | } | ||
669 | |||
670 | /* | 663 | /* |
671 | * The maximum number of pages to writeout in a single bdi flush/kupdate | 664 | * The maximum number of pages to writeout in a single bdi flush/kupdate |
672 | * operation. We do this so we don't hold I_SYNC against an inode for | 665 | * operation. We do this so we don't hold I_SYNC against an inode for |
@@ -705,7 +698,6 @@ static long wb_writeback(struct bdi_writeback *wb, | |||
705 | struct wb_writeback_args *args) | 698 | struct wb_writeback_args *args) |
706 | { | 699 | { |
707 | struct writeback_control wbc = { | 700 | struct writeback_control wbc = { |
708 | .bdi = wb->bdi, | ||
709 | .sb = args->sb, | 701 | .sb = args->sb, |
710 | .sync_mode = args->sync_mode, | 702 | .sync_mode = args->sync_mode, |
711 | .older_than_this = NULL, | 703 | .older_than_this = NULL, |
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index d63ef8f9609f..f6756f6a610c 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
@@ -27,8 +27,6 @@ enum writeback_sync_modes { | |||
27 | * in a manner such that unspecified fields are set to zero. | 27 | * in a manner such that unspecified fields are set to zero. |
28 | */ | 28 | */ |
29 | struct writeback_control { | 29 | struct writeback_control { |
30 | struct backing_dev_info *bdi; /* If !NULL, only write back this | ||
31 | queue */ | ||
32 | struct super_block *sb; /* if !NULL, only write inodes from | 30 | struct super_block *sb; /* if !NULL, only write inodes from |
33 | this super_block */ | 31 | this super_block */ |
34 | enum writeback_sync_modes sync_mode; | 32 | enum writeback_sync_modes sync_mode; |
@@ -66,7 +64,8 @@ int inode_wait(void *); | |||
66 | void writeback_inodes_sb(struct super_block *); | 64 | void writeback_inodes_sb(struct super_block *); |
67 | int writeback_inodes_sb_if_idle(struct super_block *); | 65 | int writeback_inodes_sb_if_idle(struct super_block *); |
68 | void sync_inodes_sb(struct super_block *); | 66 | void sync_inodes_sb(struct super_block *); |
69 | void writeback_inodes_wbc(struct writeback_control *wbc); | 67 | void writeback_inodes_wb(struct bdi_writeback *wb, |
68 | struct writeback_control *wbc); | ||
70 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); | 69 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); |
71 | void wakeup_flusher_threads(long nr_pages); | 70 | void wakeup_flusher_threads(long nr_pages); |
72 | 71 | ||
diff --git a/mm/backing-dev.c b/mm/backing-dev.c index 660a87a22511..6e0b09a1ec2c 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c | |||
@@ -340,14 +340,13 @@ int bdi_has_dirty_io(struct backing_dev_info *bdi) | |||
340 | static void bdi_flush_io(struct backing_dev_info *bdi) | 340 | static void bdi_flush_io(struct backing_dev_info *bdi) |
341 | { | 341 | { |
342 | struct writeback_control wbc = { | 342 | struct writeback_control wbc = { |
343 | .bdi = bdi, | ||
344 | .sync_mode = WB_SYNC_NONE, | 343 | .sync_mode = WB_SYNC_NONE, |
345 | .older_than_this = NULL, | 344 | .older_than_this = NULL, |
346 | .range_cyclic = 1, | 345 | .range_cyclic = 1, |
347 | .nr_to_write = 1024, | 346 | .nr_to_write = 1024, |
348 | }; | 347 | }; |
349 | 348 | ||
350 | writeback_inodes_wbc(&wbc); | 349 | writeback_inodes_wb(&bdi->wb, &wbc); |
351 | } | 350 | } |
352 | 351 | ||
353 | /* | 352 | /* |
diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 54f28bd493d3..37498ef61548 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c | |||
@@ -495,7 +495,6 @@ static void balance_dirty_pages(struct address_space *mapping, | |||
495 | 495 | ||
496 | for (;;) { | 496 | for (;;) { |
497 | struct writeback_control wbc = { | 497 | struct writeback_control wbc = { |
498 | .bdi = bdi, | ||
499 | .sync_mode = WB_SYNC_NONE, | 498 | .sync_mode = WB_SYNC_NONE, |
500 | .older_than_this = NULL, | 499 | .older_than_this = NULL, |
501 | .nr_to_write = write_chunk, | 500 | .nr_to_write = write_chunk, |
@@ -537,7 +536,7 @@ static void balance_dirty_pages(struct address_space *mapping, | |||
537 | * up. | 536 | * up. |
538 | */ | 537 | */ |
539 | if (bdi_nr_reclaimable > bdi_thresh) { | 538 | if (bdi_nr_reclaimable > bdi_thresh) { |
540 | writeback_inodes_wbc(&wbc); | 539 | writeback_inodes_wb(&bdi->wb, &wbc); |
541 | pages_written += write_chunk - wbc.nr_to_write; | 540 | pages_written += write_chunk - wbc.nr_to_write; |
542 | get_dirty_limits(&background_thresh, &dirty_thresh, | 541 | get_dirty_limits(&background_thresh, &dirty_thresh, |
543 | &bdi_thresh, bdi); | 542 | &bdi_thresh, bdi); |