From c1915c5f0dd865c1365806e7342dac9d91615e06 Mon Sep 17 00:00:00 2001 From: Etienne AUJAMES Date: Wed, 24 May 2023 14:35:29 +0200 Subject: [PATCH] LU-16846 nrs: Fix console messages Fix format of console messages and missing end-of-line. CERROR("%s.%d NRS: ....", service_name, cpt, ...); Test-Parameters: trivial Fixes: c098c09 ("LU-14976 nrs: change nrs policies at run time") Signed-off-by: Etienne AUJAMES Change-Id: Ib447673c69bcc853ebd1479463ca79bd5aa59964 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51121 Tested-by: Maloo Tested-by: jenkins Reviewed-by: Andreas Dilger Reviewed-by: Timothy Day Reviewed-by: Oleg Drokin --- lustre/ptlrpc/nrs.c | 92 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 52 insertions(+), 40 deletions(-) diff --git a/lustre/ptlrpc/nrs.c b/lustre/ptlrpc/nrs.c index fd1bdea..3bf42ab 100644 --- a/lustre/ptlrpc/nrs.c +++ b/lustre/ptlrpc/nrs.c @@ -225,8 +225,10 @@ static void nrs_policy_stop_primary(struct ptlrpc_nrs *nrs) */ static int nrs_policy_start_locked(struct ptlrpc_nrs_policy *policy, char *arg) { - struct ptlrpc_nrs *nrs = policy->pol_nrs; - int rc = 0; + struct ptlrpc_nrs *nrs = policy->pol_nrs; + struct ptlrpc_service_part *svcpt = nrs->nrs_svcpt; + char *srv_name = svcpt->scp_service->srv_name; + int rc = 0; ENTRY; /** @@ -242,8 +244,10 @@ static int nrs_policy_start_locked(struct ptlrpc_nrs_policy *policy, char *arg) RETURN(-EAGAIN); if (arg && strlen(arg) >= sizeof(policy->pol_arg)) { - CWARN("NRS: arg '%s' is too long\n", arg); - return -EINVAL; + rc = -EINVAL; + CWARN("%s.%d NRS: arg '%s' is too long: rc = %d\n", + srv_name, svcpt->scp_cpt, arg, rc); + return rc; } if (policy->pol_flags & PTLRPC_NRS_FL_FALLBACK) { @@ -295,9 +299,10 @@ static int nrs_policy_start_locked(struct ptlrpc_nrs_policy *policy, char *arg) if (atomic_inc_return(&policy->pol_desc->pd_refs) == 1 && !try_module_get(policy->pol_desc->pd_owner)) { atomic_dec(&policy->pol_desc->pd_refs); - CERROR("NRS: cannot get module for policy %s; is it alive?\n", - policy->pol_desc->pd_name); - RETURN(-ENODEV); + rc = -ENODEV; + CERROR("%s.%d NRS: cannot get module for policy %s (is it alive?): rc = %d\n", + srv_name, svcpt->scp_cpt, policy->pol_desc->pd_name, rc); + RETURN(rc); } /** @@ -730,6 +735,8 @@ out: static int nrs_policy_unregister(struct ptlrpc_nrs *nrs, char *name) { struct ptlrpc_nrs_policy *policy = NULL; + struct ptlrpc_service_part *svcpt = nrs->nrs_svcpt; + char *srv_name = svcpt->scp_service->srv_name; int rc = 0; ENTRY; @@ -738,14 +745,15 @@ static int nrs_policy_unregister(struct ptlrpc_nrs *nrs, char *name) policy = nrs_policy_find_locked(nrs, name); if (policy == NULL) { rc = -ENOENT; - CERROR("NRS: cannot find policy '%s': rc = %d\n", name, rc); + CERROR("%s.%d NRS: cannot find policy '%s': rc = %d\n", + srv_name, svcpt->scp_cpt, name, rc); GOTO(out_unlock, rc); } if (policy->pol_ref > 1) { rc = -EBUSY; - CERROR("NRS: policy '%s' is busy with %ld references: rc = %d", - name, policy->pol_ref, rc); + CERROR("%s.%d NRS: policy '%s' is busy with %ld references: rc = %d\n", + srv_name, svcpt->scp_cpt, name, policy->pol_ref, rc); GOTO(out_put, rc); } @@ -755,8 +763,9 @@ static int nrs_policy_unregister(struct ptlrpc_nrs *nrs, char *name) if (policy->pol_state != NRS_POL_STATE_STOPPED) { rc = nrs_policy_stop_locked(policy); if (rc) { - CERROR("NRS: failed to stop policy '%s' with refcount %d: rc = %d\n", - name, refcount_read(&policy->pol_start_ref), rc); + CERROR("%s.%d NRS: failed to stop policy '%s' with refcount %d: rc = %d\n", + srv_name, svcpt->scp_cpt, name, + refcount_read(&policy->pol_start_ref), rc); GOTO(out_put, rc); } } @@ -792,10 +801,11 @@ out_unlock: static int nrs_policy_register(struct ptlrpc_nrs *nrs, struct ptlrpc_nrs_pol_desc *desc) { - struct ptlrpc_nrs_policy *policy; - struct ptlrpc_nrs_policy *tmp; - struct ptlrpc_service_part *svcpt = nrs->nrs_svcpt; - int rc; + struct ptlrpc_nrs_policy *policy; + struct ptlrpc_nrs_policy *tmp; + struct ptlrpc_service_part *svcpt = nrs->nrs_svcpt; + char *srv_name = svcpt->scp_service->srv_name; + int rc; ENTRY; LASSERT(svcpt != NULL); @@ -831,16 +841,17 @@ static int nrs_policy_register(struct ptlrpc_nrs *nrs, tmp = nrs_policy_find_locked(nrs, policy->pol_desc->pd_name); if (tmp != NULL) { - CERROR("NRS policy %s has been registered, can't register it " - "for %s\n", policy->pol_desc->pd_name, - svcpt->scp_service->srv_name); + rc = -EEXIST; + CERROR("%s.%d NRS: policy %s has been registered, can't register it: rc = %d\n", + srv_name, svcpt->scp_cpt, policy->pol_desc->pd_name, + rc); nrs_policy_put_locked(tmp); spin_unlock(&nrs->nrs_lock); nrs_policy_fini(policy); OBD_FREE_PTR(policy); - RETURN(-EEXIST); + RETURN(rc); } list_add_tail(&policy->pol_list, &nrs->nrs_policy_list); @@ -946,10 +957,9 @@ static int nrs_register_policies_locked(struct ptlrpc_nrs *nrs) if (nrs_policy_compatible(svc, desc)) { rc = nrs_policy_register(nrs, desc); if (rc != 0) { - CERROR("Failed to register NRS policy %s for " - "partition %d of service %s: %d\n", - desc->pd_name, svcpt->scp_cpt, - svc->srv_name, rc); + CERROR("%s.%d NRS: Failed to register policy %s: rc = %d\n", + svc->srv_name, svcpt->scp_cpt, + desc->pd_name, rc); /** * Fail registration if any of the policies' * registration fails. @@ -1145,6 +1155,7 @@ static int nrs_policy_unregister_locked(struct ptlrpc_nrs_pol_desc *desc) continue; ptlrpc_service_for_each_part(svcpt, i, svc) { + char *srv_name = svcpt->scp_service->srv_name; bool hp = false; again: @@ -1157,10 +1168,9 @@ again: if (rc == -ENOENT) { rc = 0; } else if (rc != 0) { - CERROR("Failed to unregister NRS policy %s for " - "partition %d of service %s: %d\n", - desc->pd_name, svcpt->scp_cpt, - svcpt->scp_service->srv_name, rc); + CERROR("%s.%d NRS: Failed to unregister policy %s: rc = %d\n", + srv_name, svcpt->scp_cpt, desc->pd_name, + rc); RETURN(rc); } @@ -1221,20 +1231,22 @@ static int ptlrpc_nrs_policy_register(struct ptlrpc_nrs_pol_conf *conf) if ((conf->nc_flags & PTLRPC_NRS_FL_REG_EXTERN) && (conf->nc_flags & (PTLRPC_NRS_FL_FALLBACK | PTLRPC_NRS_FL_REG_START))) { + rc = -EINVAL; CERROR("NRS: failing to register policy %s. Please check " "policy flags; external policies cannot act as fallback " "policies, or be started immediately upon registration " - "without interaction with lprocfs\n", conf->nc_name); - RETURN(-EINVAL); + "without interaction with lprocfs: rc = %d\n", + conf->nc_name, rc); + RETURN(rc); } mutex_lock(&nrs_core.nrs_mutex); if (nrs_policy_find_desc_locked(conf->nc_name) != NULL) { - CERROR("NRS: failing to register policy %s which has already " - "been registered with NRS core!\n", - conf->nc_name); - GOTO(fail, rc = -EEXIST); + rc = -EEXIST; + CERROR("NRS: failing to register policy %s which has already been registered with NRS core: rc = %d\n", + conf->nc_name, rc); + GOTO(fail, rc); } OBD_ALLOC_PTR(desc); @@ -1280,16 +1292,16 @@ static int ptlrpc_nrs_policy_register(struct ptlrpc_nrs_pol_conf *conf) continue; ptlrpc_service_for_each_part(svcpt, i, svc) { - struct ptlrpc_nrs *nrs; - bool hp = false; + struct ptlrpc_nrs *nrs; + char *srv_name = svcpt->scp_service->srv_name; + bool hp = false; again: nrs = nrs_svcpt2nrs(svcpt, hp); rc = nrs_policy_register(nrs, desc); if (rc != 0) { - CERROR("Failed to register NRS policy %s for " - "partition %d of service %s: %d\n", - desc->pd_name, svcpt->scp_cpt, - svcpt->scp_service->srv_name, rc); + CERROR("%s.%d NRS: Failed to register policy %s: rc = %d\n", + srv_name, svcpt->scp_cpt, + desc->pd_name, rc); rc2 = nrs_policy_unregister_locked(desc); /** -- 1.8.3.1