28d3ae407e
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/device-mapper-multipath.git#26a2cd7a3e189bf91263d17bc8a8c449cc043fb0
35 lines
1.4 KiB
Diff
35 lines
1.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Benjamin Marzinski <bmarzins@redhat.com>
|
|
Date: Fri, 18 Dec 2020 17:06:37 -0600
|
|
Subject: [PATCH] mpathpersist: Fix Register and Ignore with 0x00 SARK
|
|
|
|
When the Register and Ignore command is run with sg_persist, if a 0x00
|
|
Service Action Reservation Key is given or the --param-sark option is
|
|
not used at all, sg_persist will clear the registration. mpathpersist
|
|
will fail with an error. This patch fixes mpathpersist to work like
|
|
sg_persist in this case.
|
|
|
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
|
Reviewed-by: Martin Wilck <mwilck@suse.com>
|
|
---
|
|
libmpathpersist/mpath_persist.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/libmpathpersist/mpath_persist.c b/libmpathpersist/mpath_persist.c
|
|
index 79322e86..41789c46 100644
|
|
--- a/libmpathpersist/mpath_persist.c
|
|
+++ b/libmpathpersist/mpath_persist.c
|
|
@@ -304,7 +304,8 @@ int __mpath_persistent_reserve_out ( int fd, int rq_servact, int rq_scope,
|
|
}
|
|
|
|
if (memcmp(paramp->key, &mpp->reservation_key, 8) &&
|
|
- memcmp(paramp->sa_key, &mpp->reservation_key, 8)) {
|
|
+ memcmp(paramp->sa_key, &mpp->reservation_key, 8) &&
|
|
+ (prkey || rq_servact != MPATH_PROUT_REG_IGN_SA)) {
|
|
condlog(0, "%s: configured reservation key doesn't match: 0x%" PRIx64, alias, get_be64(mpp->reservation_key));
|
|
ret = MPATH_PR_SYNTAX_ERROR;
|
|
goto out1;
|
|
--
|
|
2.17.2
|
|
|