summaryrefslogtreecommitdiffstats
path: root/fs/block_dev.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-03-13 19:42:34 -0400
committerDave Airlie <airlied@redhat.com>2016-03-13 19:46:02 -0400
commit9b61c0fcdf0cfd20a85d9856d46142e7f297de0a (patch)
treed4abe6aa3f4e1e088f9da1d0597e078b1fe58912 /fs/block_dev.c
parent550e3b23a53c88adfa46e64f9d442743e65d47da (diff)
parent125234dc8b1cc862f52d8bd5b37c36cc59b2cb86 (diff)
Merge drm-fixes into drm-next.
Nouveau wanted this to avoid some worse conflicts when I merge that.
Diffstat (limited to 'fs/block_dev.c')
-rw-r--r--fs/block_dev.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 39b3a174a425..826b164a4b5b 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -1201,7 +1201,11 @@ static int __blkdev_get(struct block_device *bdev, fmode_t mode, int for_part)
1201 bdev->bd_disk = disk; 1201 bdev->bd_disk = disk;
1202 bdev->bd_queue = disk->queue; 1202 bdev->bd_queue = disk->queue;
1203 bdev->bd_contains = bdev; 1203 bdev->bd_contains = bdev;
1204 bdev->bd_inode->i_flags = disk->fops->direct_access ? S_DAX : 0; 1204 if (IS_ENABLED(CONFIG_BLK_DEV_DAX) && disk->fops->direct_access)
1205 bdev->bd_inode->i_flags = S_DAX;
1206 else
1207 bdev->bd_inode->i_flags = 0;
1208
1205 if (!partno) { 1209 if (!partno) {
1206 ret = -ENXIO; 1210 ret = -ENXIO;
1207 bdev->bd_part = disk_get_part(disk, partno); 1211 bdev->bd_part = disk_get_part(disk, partno);
@@ -1693,13 +1697,24 @@ static int blkdev_releasepage(struct page *page, gfp_t wait)
1693 return try_to_free_buffers(page); 1697 return try_to_free_buffers(page);
1694} 1698}
1695 1699
1700static int blkdev_writepages(struct address_space *mapping,
1701 struct writeback_control *wbc)
1702{
1703 if (dax_mapping(mapping)) {
1704 struct block_device *bdev = I_BDEV(mapping->host);
1705
1706 return dax_writeback_mapping_range(mapping, bdev, wbc);
1707 }
1708 return generic_writepages(mapping, wbc);
1709}
1710
1696static const struct address_space_operations def_blk_aops = { 1711static const struct address_space_operations def_blk_aops = {
1697 .readpage = blkdev_readpage, 1712 .readpage = blkdev_readpage,
1698 .readpages = blkdev_readpages, 1713 .readpages = blkdev_readpages,
1699 .writepage = blkdev_writepage, 1714 .writepage = blkdev_writepage,
1700 .write_begin = blkdev_write_begin, 1715 .write_begin = blkdev_write_begin,
1701 .write_end = blkdev_write_end, 1716 .write_end = blkdev_write_end,
1702 .writepages = generic_writepages, 1717 .writepages = blkdev_writepages,
1703 .releasepage = blkdev_releasepage, 1718 .releasepage = blkdev_releasepage,
1704 .direct_IO = blkdev_direct_IO, 1719 .direct_IO = blkdev_direct_IO,
1705 .is_dirty_writeback = buffer_check_dirty_writeback, 1720 .is_dirty_writeback = buffer_check_dirty_writeback,