aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/md/dm-table.c7
-rw-r--r--drivers/md/dm.c3
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
index 938766794c2e..3d0e2c198f06 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
@@ -885,9 +885,7 @@ EXPORT_SYMBOL_GPL(dm_table_set_type);
885static int device_supports_dax(struct dm_target *ti, struct dm_dev *dev, 885static int device_supports_dax(struct dm_target *ti, struct dm_dev *dev,
886 sector_t start, sector_t len, void *data) 886 sector_t start, sector_t len, void *data)
887{ 887{
888 struct request_queue *q = bdev_get_queue(dev->bdev); 888 return bdev_dax_supported(dev->bdev, PAGE_SIZE);
889
890 return q && blk_queue_dax(q);
891} 889}
892 890
893static bool dm_table_supports_dax(struct dm_table *t) 891static bool dm_table_supports_dax(struct dm_table *t)
@@ -1907,6 +1905,9 @@ void dm_table_set_restrictions(struct dm_table *t, struct request_queue *q,
1907 1905
1908 if (dm_table_supports_dax(t)) 1906 if (dm_table_supports_dax(t))
1909 blk_queue_flag_set(QUEUE_FLAG_DAX, q); 1907 blk_queue_flag_set(QUEUE_FLAG_DAX, q);
1908 else
1909 blk_queue_flag_clear(QUEUE_FLAG_DAX, q);
1910
1910 if (dm_table_supports_dax_write_cache(t)) 1911 if (dm_table_supports_dax_write_cache(t))
1911 dax_write_cache(t->md->dax_dev, true); 1912 dax_write_cache(t->md->dax_dev, true);
1912 1913
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index a3b103e8e3ce..b0dd7027848b 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1056,8 +1056,7 @@ static long dm_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff,
1056 if (len < 1) 1056 if (len < 1)
1057 goto out; 1057 goto out;
1058 nr_pages = min(len, nr_pages); 1058 nr_pages = min(len, nr_pages);
1059 if (ti->type->direct_access) 1059 ret = ti->type->direct_access(ti, pgoff, nr_pages, kaddr, pfn);
1060 ret = ti->type->direct_access(ti, pgoff, nr_pages, kaddr, pfn);
1061 1060
1062 out: 1061 out:
1063 dm_put_live_table(md, srcu_idx); 1062 dm_put_live_table(md, srcu_idx);