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 <[email protected]>
---
 libmpathpersist/mpath_persist.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libmpathpersist/mpath_persist.c b/libmpathpersist/mpath_persist.c
index 79322e86..703f8e13 100644
--- a/libmpathpersist/mpath_persist.c
+++ b/libmpathpersist/mpath_persist.c
@@ -289,8 +289,8 @@ int __mpath_persistent_reserve_out ( int fd, int 
rq_servact, int rq_scope,
        put_multipath_config(conf);
 
        memcpy(&prkey, paramp->sa_key, 8);
-       if (mpp->prkey_source == PRKEY_SOURCE_FILE && prkey &&
-           ((!get_be64(mpp->reservation_key) &&
+       if (mpp->prkey_source == PRKEY_SOURCE_FILE &&
+           ((!get_be64(mpp->reservation_key) && prkey &&
              rq_servact == MPATH_PROUT_REG_SA) ||
             rq_servact == MPATH_PROUT_REG_IGN_SA)) {
                memcpy(&mpp->reservation_key, paramp->sa_key, 8);
-- 
2.17.2

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to