From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Benjamin Marzinski Date: Thu, 10 Jul 2025 14:10:48 -0400 Subject: [PATCH] libmpathpersist: reduce log level for persistent reservation checking Move logging of minor expected behavior to INFO level. Modify the log level of some messages by whether or not mpp->prflag changed values. Signed-off-by: Benjamin Marzinski Reviewed-by: Martin Wilck --- libmpathpersist/mpath_persist_int.c | 34 +++++++++++++++++++---------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/libmpathpersist/mpath_persist_int.c b/libmpathpersist/mpath_persist_int.c index fb1d0081..6233e6b0 100644 --- a/libmpathpersist/mpath_persist_int.c +++ b/libmpathpersist/mpath_persist_int.c @@ -60,7 +60,7 @@ static int mpath_prin_activepath (struct multipath *mpp, int rq_servact, vector_foreach_slot (pgp->paths, pp, i){ if (!((pp->state == PATH_UP) || (pp->state == PATH_GHOST))){ - condlog(2, "%s: %s not available. Skip.", + condlog(3, "%s: %s not available. Skip.", mpp->wwid, pp->dev); condlog(3, "%s: status = %d.", mpp->wwid, pp->state); @@ -733,12 +733,14 @@ int update_map_pr(struct multipath *mpp) struct prin_resp *resp; unsigned int i; int ret = MPATH_PR_OTHER, isFound; + bool was_set = (mpp->prflag == PRFLAG_SET); if (!get_be64(mpp->reservation_key)) { /* Nothing to do. Assuming pr mgmt feature is disabled*/ mpp->prflag = PRFLAG_UNSET; - condlog(4, "%s: reservation_key not set in multipath.conf", + condlog(was_set ? 2 : 4, + "%s: reservation_key not set in multipath.conf", mpp->alias); return MPATH_PR_SUCCESS; } @@ -751,8 +753,7 @@ int update_map_pr(struct multipath *mpp) } if (count_active_paths(mpp) == 0) { - condlog(0,"%s: No available paths to check pr status", - mpp->alias); + condlog(2, "%s: No available paths to check pr status", mpp->alias); goto out; } mpp->prflag = PRFLAG_UNSET; @@ -768,22 +769,31 @@ int update_map_pr(struct multipath *mpp) if (resp->prin_descriptor.prin_readkeys.additional_length == 0 ) { - condlog(3,"%s: No key found. Device may not be registered. ", mpp->alias); + condlog(was_set ? 1 : 3, + "%s: No key found. Device may not be registered. ", + mpp->alias); goto out; } - condlog(2, "%s: Multipath reservation_key: 0x%" PRIx64 " ", mpp->alias, + condlog(3, "%s: Multipath reservation_key: 0x%" PRIx64 " ", mpp->alias, get_be64(mpp->reservation_key)); isFound =0; for (i = 0; i < resp->prin_descriptor.prin_readkeys.additional_length/8; i++ ) { - condlog(2, "%s: PR IN READKEYS[%d] reservation key:", mpp->alias, i); - dumpHex((char *)&resp->prin_descriptor.prin_readkeys.key_list[i*8], 8 , 1); + if (libmp_verbosity >= 3) { + condlog(3, "%s: PR IN READKEYS[%d] reservation key:", + mpp->alias, i); + dumpHex((char *)&resp->prin_descriptor.prin_readkeys + .key_list[i * 8], + 8, 1); + } - if (!memcmp(&mpp->reservation_key, &resp->prin_descriptor.prin_readkeys.key_list[i*8], 8)) - { - condlog(2, "%s: reservation key found in pr in readkeys response", mpp->alias); + if (!memcmp(&mpp->reservation_key, + &resp->prin_descriptor.prin_readkeys.key_list[i * 8], + 8)) { + condlog(3, "%s: reservation key found in pr in readkeys response", + mpp->alias); isFound =1; } } @@ -791,7 +801,7 @@ int update_map_pr(struct multipath *mpp) if (isFound) { mpp->prflag = PRFLAG_SET; - condlog(2, "%s: prflag flag set.", mpp->alias ); + condlog(was_set ? 3 : 2, "%s: prflag flag set.", mpp->alias); } out: