summaryrefslogtreecommitdiffstats
path: root/mm/swapfile.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2020-09-24 08:51:36 +0200
committerJens Axboe <axboe@kernel.dk>2020-09-24 13:43:39 -0600
commita8b456d01cd6b37191f14248f3e2bdbe5ce3a89e (patch)
tree409f35af00eba0691be18217ce570d41751ab593 /mm/swapfile.c
parented7b6b4f6e915cb0bc52d0000bcc63168867b6ac (diff)
downloadlinux-stable-a8b456d01cd6b37191f14248f3e2bdbe5ce3a89e.tar.gz
linux-stable-a8b456d01cd6b37191f14248f3e2bdbe5ce3a89e.tar.bz2
linux-stable-a8b456d01cd6b37191f14248f3e2bdbe5ce3a89e.zip
bdi: remove BDI_CAP_SYNCHRONOUS_IO
BDI_CAP_SYNCHRONOUS_IO is only checked in the swap code, and used to decided if ->rw_page can be used on a block device. Just check up for the method instead. The only complication is that zram needs a second set of block_device_operations as it can switch between modes that actually support ->rw_page and those who don't. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'mm/swapfile.c')
-rw-r--r--mm/swapfile.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c
index b90f86920743..96a7c47dd533 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -3240,7 +3240,7 @@ SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
if (bdi_cap_stable_pages_required(inode_to_bdi(inode)))
p->flags |= SWP_STABLE_WRITES;
- if (bdi_cap_synchronous_io(inode_to_bdi(inode)))
+ if (p->bdev && p->bdev->bd_disk->fops->rw_page)
p->flags |= SWP_SYNCHRONOUS_IO;
if (p->bdev && blk_queue_nonrot(bdev_get_queue(p->bdev))) {