summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorMichal Suchanek <msuchanek@suse.de>2020-06-30 17:49:24 +0200
committerMike Snitzer <snitzer@redhat.com>2020-07-08 11:06:57 -0400
commita46624580376a3a0beb218d94cbc7f258696e29f (patch)
tree26716b5314274854e059edb71bd7396c0f8e559f /drivers/md
parent382761dc6312965a11f82f2217e16ec421bf17ae (diff)
dm writecache: reject asynchronous pmem devices
DM writecache does not handle asynchronous pmem. Reject it when supplied as cache. Link: https://lore.kernel.org/linux-nvdimm/87lfk5hahc.fsf@linux.ibm.com/ Fixes: 6e84200c0a29 ("virtio-pmem: Add virtio pmem driver") Signed-off-by: Michal Suchanek <msuchanek@suse.de> Acked-by: Mikulas Patocka <mpatocka@redhat.com> Cc: stable@vger.kernel.org # 5.3+ Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm-writecache.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
index 30505d70f423..5358894bb9fd 100644
--- a/drivers/md/dm-writecache.c
+++ b/drivers/md/dm-writecache.c
@@ -2266,6 +2266,12 @@ invalid_optional:
}
if (WC_MODE_PMEM(wc)) {
+ if (!dax_synchronous(wc->ssd_dev->dax_dev)) {
+ r = -EOPNOTSUPP;
+ ti->error = "Asynchronous persistent memory not supported as pmem cache";
+ goto bad;
+ }
+
r = persistent_memory_claim(wc);
if (r) {
ti->error = "Unable to map persistent memory for cache";