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@xxxxxxxxxx> --- 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 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel