|
Hannes Reinecke |
084ef2 |
From: Sagi Grimberg <sagi@grimberg.me>
|
|
Hannes Reinecke |
084ef2 |
Date: Wed, 1 Apr 2020 22:44:43 -0700
|
|
Hannes Reinecke |
084ef2 |
Subject: [PATCH] nvme: inherit stable pages constraint in the mpath stack
|
|
Hannes Reinecke |
084ef2 |
Git-commit: 74e4d20e2f43cf09a35543d960ac8f7a1ffcbbb5
|
|
Michal Kubecek |
66e035 |
Patch-mainline: v5.7-rc1
|
|
Hannes Reinecke |
084ef2 |
References: bsc#1169045
|
|
Hannes Reinecke |
084ef2 |
device
|
|
Hannes Reinecke |
084ef2 |
|
|
Hannes Reinecke |
084ef2 |
If the backing device require stable pages, we need to set it on the
|
|
Hannes Reinecke |
084ef2 |
stack mpath device as well. This applies to rdma/fc transports when
|
|
Hannes Reinecke |
084ef2 |
doing data integrity and tcp transport calculating digests.
|
|
Hannes Reinecke |
084ef2 |
|
|
Hannes Reinecke |
084ef2 |
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
|
|
Hannes Reinecke |
084ef2 |
Signed-off-by: Christoph Hellwig <hch@lst.de>
|
|
Hannes Reinecke |
084ef2 |
Acked-by: Hannes Reinecke <hare@suse.com>
|
|
Hannes Reinecke |
084ef2 |
---
|
|
Hannes Reinecke |
084ef2 |
drivers/nvme/host/core.c | 7 +++++++
|
|
Hannes Reinecke |
084ef2 |
1 file changed, 7 insertions(+)
|
|
Hannes Reinecke |
084ef2 |
|
|
Hannes Reinecke |
084ef2 |
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
|
|
Hannes Reinecke |
084ef2 |
index 2db8563aeb2d..91c1bd659947 100644
|
|
Hannes Reinecke |
084ef2 |
--- a/drivers/nvme/host/core.c
|
|
Hannes Reinecke |
084ef2 |
+++ b/drivers/nvme/host/core.c
|
|
Hannes Reinecke |
084ef2 |
@@ -1897,6 +1897,13 @@ static void __nvme_revalidate_disk(struct gendisk *disk, struct nvme_id_ns *id)
|
|
Hannes Reinecke |
084ef2 |
if (ns->head->disk) {
|
|
Hannes Reinecke |
084ef2 |
nvme_update_disk_info(ns->head->disk, ns, id);
|
|
Hannes Reinecke |
084ef2 |
blk_queue_stack_limits(ns->head->disk->queue, ns->queue);
|
|
Hannes Reinecke |
084ef2 |
+ if (bdi_cap_stable_pages_required(ns->queue->backing_dev_info)) {
|
|
Hannes Reinecke |
084ef2 |
+ struct backing_dev_info *info =
|
|
Hannes Reinecke |
084ef2 |
+ ns->head->disk->queue->backing_dev_info;
|
|
Hannes Reinecke |
084ef2 |
+
|
|
Hannes Reinecke |
084ef2 |
+ info->capabilities |= BDI_CAP_STABLE_WRITES;
|
|
Hannes Reinecke |
084ef2 |
+ }
|
|
Hannes Reinecke |
084ef2 |
+
|
|
Hannes Reinecke |
084ef2 |
revalidate_disk(ns->head->disk);
|
|
Hannes Reinecke |
084ef2 |
}
|
|
Hannes Reinecke |
084ef2 |
#endif
|
|
Hannes Reinecke |
084ef2 |
--
|
|
Hannes Reinecke |
084ef2 |
2.16.4
|
|
Hannes Reinecke |
084ef2 |
|