aboutsummaryrefslogtreecommitdiffstats
path: root/mm/vmscan.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-02-12 16:50:21 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-12 16:50:21 -0500
commit6bec0035286119eefc32a5b1102127e6a4032cb2 (patch)
tree440fab001b4c877b0b0c9fd62d8392e956e387e3 /mm/vmscan.c
parent5d8e7fb6916556e9b476de33404e8c9e2c9aee61 (diff)
parent15d0f5ea348b9c4e6d41df294dde38a56a39c7bf (diff)
Merge branch 'for-3.20/bdi' of git://git.kernel.dk/linux-block
Pull backing device changes from Jens Axboe: "This contains a cleanup of how the backing device is handled, in preparation for a rework of the life time rules. In this part, the most important change is to split the unrelated nommu mmap flags from it, but also removing a backing_dev_info pointer from the address_space (and inode), and a cleanup of other various minor bits. Christoph did all the work here, I just fixed an oops with pages that have a swap backing. Arnd fixed a missing export, and Oleg killed the lustre backing_dev_info from staging. Last patch was from Al, unexporting parts that are now no longer needed outside" * 'for-3.20/bdi' of git://git.kernel.dk/linux-block: Make super_blocks and sb_lock static mtd: export new mtd_mmap_capabilities fs: make inode_to_bdi() handle NULL inode staging/lustre/llite: get rid of backing_dev_info fs: remove default_backing_dev_info fs: don't reassign dirty inodes to default_backing_dev_info nfs: don't call bdi_unregister ceph: remove call to bdi_unregister fs: remove mapping->backing_dev_info fs: export inode_to_bdi and use it in favor of mapping->backing_dev_info nilfs2: set up s_bdi like the generic mount_bdev code block_dev: get bdev inode bdi directly from the block device block_dev: only write bdev inode on close fs: introduce f_op->mmap_capabilities for nommu mmap support fs: kill BDI_CAP_SWAP_BACKED fs: deduplicate noop_backing_dev_info
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r--mm/vmscan.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 8e645ee52045..224dd298fdcd 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -500,7 +500,7 @@ static pageout_t pageout(struct page *page, struct address_space *mapping,
500 } 500 }
501 if (mapping->a_ops->writepage == NULL) 501 if (mapping->a_ops->writepage == NULL)
502 return PAGE_ACTIVATE; 502 return PAGE_ACTIVATE;
503 if (!may_write_to_queue(mapping->backing_dev_info, sc)) 503 if (!may_write_to_queue(inode_to_bdi(mapping->host), sc))
504 return PAGE_KEEP; 504 return PAGE_KEEP;
505 505
506 if (clear_page_dirty_for_io(page)) { 506 if (clear_page_dirty_for_io(page)) {
@@ -879,7 +879,7 @@ static unsigned long shrink_page_list(struct list_head *page_list,
879 */ 879 */
880 mapping = page_mapping(page); 880 mapping = page_mapping(page);
881 if (((dirty || writeback) && mapping && 881 if (((dirty || writeback) && mapping &&
882 bdi_write_congested(mapping->backing_dev_info)) || 882 bdi_write_congested(inode_to_bdi(mapping->host))) ||
883 (writeback && PageReclaim(page))) 883 (writeback && PageReclaim(page)))
884 nr_congested++; 884 nr_congested++;
885 885