From 5cf3ae8724f34bac7a89d91d8bf731b140777a6a Mon Sep 17 00:00:00 2001 From: Packit Service Date: Apr 07 2021 22:14:40 +0000 Subject: Apply patch 0049-mpathpersist-update-prkeys-file-on-changing-registra.patch patch_name: 0049-mpathpersist-update-prkeys-file-on-changing-registra.patch present_in_specfile: true location_in_specfile: 49 --- diff --git a/libmpathpersist/mpath_persist.c b/libmpathpersist/mpath_persist.c index aa19600..a01dfb0 100644 --- a/libmpathpersist/mpath_persist.c +++ b/libmpathpersist/mpath_persist.c @@ -307,9 +307,10 @@ 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) && - rq_servact == MPATH_PROUT_REG_SA) || - rq_servact == MPATH_PROUT_REG_IGN_SA)) { + (rq_servact == MPATH_PROUT_REG_IGN_SA || + (rq_servact == MPATH_PROUT_REG_SA && + (!get_be64(mpp->reservation_key) || + memcmp(paramp->key, &mpp->reservation_key, 8) == 0)))) { memcpy(&mpp->reservation_key, paramp->sa_key, 8); if (update_prkey_flags(alias, get_be64(mpp->reservation_key), paramp->sa_flags)) {