summaryrefslogtreecommitdiffstats
path: root/0001-mpathpersist-Fix-invalid-condition-check.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-mpathpersist-Fix-invalid-condition-check.patch')
-rw-r--r--0001-mpathpersist-Fix-invalid-condition-check.patch35
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
+