| From a46624580376a3a0beb218d94cbc7f258696e29f Mon Sep 17 00:00:00 2001 |
| From: Michal Suchanek <msuchanek@suse.de> |
| Date: Tue, 30 Jun 2020 17:49:24 +0200 |
| Subject: dm writecache: reject asynchronous pmem devices |
| |
| From: Michal Suchanek <msuchanek@suse.de> |
| |
| commit a46624580376a3a0beb218d94cbc7f258696e29f upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/md/dm-writecache.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| --- a/drivers/md/dm-writecache.c |
| +++ b/drivers/md/dm-writecache.c |
| @@ -2104,6 +2104,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"; |