diff mbox

dm mpath: fix passing integrity data

Message ID 20180314143306.98405-1-maier@linux.vnet.ibm.com (mailing list archive)
State Accepted, archived
Delegated to: Mike Snitzer
Headers show

Commit Message

Steffen Maier March 14, 2018, 2:33 p.m. UTC
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.

Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
Bisected-by: Fedor Loshakov <loshakov@linux.vnet.ibm.com>
Fixes: e2460f2a4bc7 ("dm: mark targets that pass integrity data")
Cc: <stable@vger.kernel.org> #4.12+
---
 drivers/md/dm-mpath.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Hannes Reinecke March 14, 2018, 3:42 p.m. UTC | #1
On 03/14/2018 03:33 PM, Steffen Maier wrote:
> 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.
> 
> Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
> Bisected-by: Fedor Loshakov <loshakov@linux.vnet.ibm.com>
> Fixes: e2460f2a4bc7 ("dm: mark targets that pass integrity data")
> Cc: <stable@vger.kernel.org> #4.12+
> ---
>  drivers/md/dm-mpath.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
> index 3fde9e9faddd..c174f0c53dc9 100644
> --- a/drivers/md/dm-mpath.c
> +++ b/drivers/md/dm-mpath.c
> @@ -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.

Reviewed-by: Hannes Reinecke <hare@suse.com>

Cheers,

Hannes
Mike Snitzer March 14, 2018, 7:44 p.m. UTC | #2
On Wed, Mar 14 2018 at 10:33am -0400,
Steffen Maier <maier@linux.vnet.ibm.com> wrote:

> 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.
> 
> Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
> Bisected-by: Fedor Loshakov <loshakov@linux.vnet.ibm.com>
> Fixes: e2460f2a4bc7 ("dm: mark targets that pass integrity data")
> Cc: <stable@vger.kernel.org> #4.12+
> ---
>  drivers/md/dm-mpath.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
> index 3fde9e9faddd..c174f0c53dc9 100644
> --- a/drivers/md/dm-mpath.c
> +++ b/drivers/md/dm-mpath.c
> @@ -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.

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
diff mbox

Patch

diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c
index 3fde9e9faddd..c174f0c53dc9 100644
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
@@ -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,