Skip to contentSkip to conversation

dm mpath: fix passing integrity data

PATCH In review Steffen Maier 4 participants 4 messages Mar 14, 2018

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dm mpath: fix passing integrity data

After v4.12 commit e2460f2a4bc7 ("dm: mark targets that pass integrity data"), dm-multipath, e.g. on DIF+DIX SCSI disk paths, does not support block integrity any more. So add it to the whitelist.

This is also a pre-requisite to use block integrity with other dm layer(s) on top of multipath, such as kpartx partitions (dm-linear) or LVM.

Fixes e2460f2a4bc7 ("dm: mark targets that pass integrity data")
Cc <[email protected]> #4.12+
---
 drivers/md/dm-mpath.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/md/dm-mpath.c +2 -1
index 3fde9e9faddd..c174f0c53dc9 100644
@@ -2023,7 +2023,8 @@ static int multipath_busy(struct dm_target *ti)
 static struct target_type multipath_target = {
 	.name = "multipath",
 	.version = {1, 12, 0},
-	.features = DM_TARGET_SINGLETON | DM_TARGET_IMMUTABLE,
+	.features = DM_TARGET_SINGLETON | DM_TARGET_IMMUTABLE |
+		    DM_TARGET_PASSES_INTEGRITY,
 	.module = THIS_MODULE,
 	.ctr = multipath_ctr,
 	.dtr = multipath_dtr,
Signature · 1 line
2.13.5
Reviewed-by on v1 1/1
#1 lore raw
Quoted 21 lines · Steffen Maier

After v4.12 commit e2460f2a4bc7 ("dm: mark targets that pass integrity data"), dm-multipath, e.g. on DIF+DIX SCSI disk paths, does not support block integrity any more. So add it to the whitelist.

This is also a pre-requisite to use block integrity with other dm layer(s) on top of multipath, such as kpartx partitions (dm-linear) or LVM.

Fixes e2460f2a4bc7 ("dm: mark targets that pass integrity data")
Cc <[email protected]> #4.12+
---
 drivers/md/dm-mpath.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/md/dm-mpath.c +0 -0
index 3fde9e9faddd..c174f0c53dc9 100644

drivers/md/dm-mpath.c static int multipath_busy(struct dm_target *ti) · line 2030

Quoted 9 lines
drivers/md/dm-mpath.c +2 -1
@@ -2023,7 +2023,8 @@ static int multipath_busy(struct dm_target *ti)
 static struct target_type multipath_target = {
 	.name = "multipath",
 	.version = {1, 12, 0},
-	.features = DM_TARGET_SINGLETON | DM_TARGET_IMMUTABLE,
+	.features = DM_TARGET_SINGLETON | DM_TARGET_IMMUTABLE |
+		    DM_TARGET_PASSES_INTEGRITY,
 	.module = THIS_MODULE,
 	.ctr = multipath_ctr,
 	.dtr = multipath_dtr,

Ho-hum.
Thanks for this.

Cheers,

Hannes

Signature · 10 lines
Dr. Hannes Reinecke		   Teamlead Storage & Networking
[email protected]			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel
#3 lore raw
In reply to Steffen Maier
Quoted 20 lines · Steffen Maier

After v4.12 commit e2460f2a4bc7 ("dm: mark targets that pass integrity data"), dm-multipath, e.g. on DIF+DIX SCSI disk paths, does not support block integrity any more. So add it to the whitelist.

This is also a pre-requisite to use block integrity with other dm layer(s) on top of multipath, such as kpartx partitions (dm-linear) or LVM.

Fixes e2460f2a4bc7 ("dm: mark targets that pass integrity data")
Cc <[email protected]> #4.12+
---
 drivers/md/dm-mpath.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/md/dm-mpath.c +0 -0
index 3fde9e9faddd..c174f0c53dc9 100644

drivers/md/dm-mpath.c static int multipath_busy(struct dm_target *ti) · line 2030

Quoted 9 lines
drivers/md/dm-mpath.c +2 -1
@@ -2023,7 +2023,8 @@ static int multipath_busy(struct dm_target *ti)
 static struct target_type multipath_target = {
 	.name = "multipath",
 	.version = {1, 12, 0},
-	.features = DM_TARGET_SINGLETON | DM_TARGET_IMMUTABLE,
+	.features = DM_TARGET_SINGLETON | DM_TARGET_IMMUTABLE |
+		    DM_TARGET_PASSES_INTEGRITY,
 	.module = THIS_MODULE,
 	.ctr = multipath_ctr,
 	.dtr = multipath_dtr,

Thanks, I've queued this for 4.16-rc6, will send to Linus tomorrow.