diff options
Diffstat (limited to '0001-mpathpersist-Fix-invalid-condition-check.patch')
-rw-r--r-- | 0001-mpathpersist-Fix-invalid-condition-check.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/0001-mpathpersist-Fix-invalid-condition-check.patch b/0001-mpathpersist-Fix-invalid-condition-check.patch new file mode 100644 index 0000000..4f7b6bb --- /dev/null +++ b/0001-mpathpersist-Fix-invalid-condition-check.patch @@ -0,0 +1,35 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Benjamin Marzinski <bmarzins@redhat.com> +Date: Wed, 6 Sep 2017 16:27:36 -0500 +Subject: [PATCH] mpathpersist: Fix invalid condition check + +In commit 1990257c (mpathpersist: add support for prkeys file), the +check to see if mpathpersist needed to tell multipathd to update a +device's prkey was wrong. It had a typo that made it evaluate to true +for any service action, instead of just for registrations. This is the +correct check. + +Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> +--- + libmpathpersist/mpath_persist.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/libmpathpersist/mpath_persist.c b/libmpathpersist/mpath_persist.c +index b5ed556..84ab293 100644 +--- a/libmpathpersist/mpath_persist.c ++++ b/libmpathpersist/mpath_persist.c +@@ -339,8 +339,9 @@ int mpath_persistent_reserve_out ( int fd, int rq_servact, int rq_scope, + + memcpy(&prkey, paramp->sa_key, 8); + if (mpp->prkey_source == PRKEY_SOURCE_FILE && prkey && +- ((!get_be64(mpp->reservation_key) && MPATH_PROUT_REG_SA) || +- MPATH_PROUT_REG_IGN_SA)) { ++ ((!get_be64(mpp->reservation_key) && ++ rq_servact == MPATH_PROUT_REG_SA) || ++ rq_servact == MPATH_PROUT_REG_IGN_SA)) { + memcpy(&mpp->reservation_key, paramp->sa_key, 8); + if (update_prkey(alias, get_be64(mpp->reservation_key))) { + condlog(0, "%s: failed to set prkey for multipathd.", +-- +2.7.4 + |