diff options
author | Christoph Hellwig <hch@lst.de> | 2015-01-14 10:42:31 +0100 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-01-20 14:02:56 -0700 |
commit | 97b713ba3ebaa6c8d84c2c720f5468a7c6a6eb4e (patch) | |
tree | a2a430b22f8c220e719114786905b18aa605f9ec /mm/madvise.c | |
parent | a7a2c680a2ad81b3181a335ee76e23d5195007ee (diff) | |
download | lwn-97b713ba3ebaa6c8d84c2c720f5468a7c6a6eb4e.tar.gz lwn-97b713ba3ebaa6c8d84c2c720f5468a7c6a6eb4e.zip |
fs: kill BDI_CAP_SWAP_BACKED
This bdi flag isn't too useful - we can determine that a vma is backed by
either swap or shmem trivially in the caller.
This also allows removing the backing_dev_info instaces for swap and shmem
in favor of noop_backing_dev_info.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'mm/madvise.c')
-rw-r--r-- | mm/madvise.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/mm/madvise.c b/mm/madvise.c index a271adc93289..1383a8916bc3 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -222,19 +222,22 @@ static long madvise_willneed(struct vm_area_struct *vma, struct file *file = vma->vm_file; #ifdef CONFIG_SWAP - if (!file || mapping_cap_swap_backed(file->f_mapping)) { + if (!file) { *prev = vma; - if (!file) - force_swapin_readahead(vma, start, end); - else - force_shm_swapin_readahead(vma, start, end, - file->f_mapping); + force_swapin_readahead(vma, start, end); return 0; } -#endif + if (shmem_mapping(file->f_mapping)) { + *prev = vma; + force_shm_swapin_readahead(vma, start, end, + file->f_mapping); + return 0; + } +#else if (!file) return -EBADF; +#endif if (file->f_mapping->a_ops->get_xip_mem) { /* no bad return value, but ignore advice */ |