diff options
author | Vivek Goyal <vgoyal@redhat.com> | 2017-07-26 16:35:09 +0300 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2017-07-26 22:55:44 +0300 |
commit | 273752c9ff03eb83856601b2a3458218bb949e46 (patch) | |
tree | 2248ae6002c2deed099fcc0657c8665c2015d949 /include | |
parent | 34c96507e8f6be497c15497be05f489fb34c5880 (diff) | |
download | linux-273752c9ff03eb83856601b2a3458218bb949e46.tar.xz |
dm, dax: Make sure dm_dax_flush() is called if device supports it
Currently dm_dax_flush() is not being called, even if underlying dax
device supports write cache, because DAXDEV_WRITE_CACHE is not being
propagated up to the DM dax device.
If the underlying dax device supports write cache, set
DAXDEV_WRITE_CACHE on the DM dax device. This will cause dm_dax_flush()
to be called.
Fixes: abebfbe2f7 ("dm: add ->flush() dax operation support")
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/dax.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/dax.h b/include/linux/dax.h index 794811875732..df97b7af7e2c 100644 --- a/include/linux/dax.h +++ b/include/linux/dax.h @@ -87,6 +87,7 @@ size_t dax_copy_from_iter(struct dax_device *dax_dev, pgoff_t pgoff, void *addr, void dax_flush(struct dax_device *dax_dev, pgoff_t pgoff, void *addr, size_t size); void dax_write_cache(struct dax_device *dax_dev, bool wc); +bool dax_write_cache_enabled(struct dax_device *dax_dev); /* * We use lowest available bit in exceptional entry for locking, one bit for |