Whamcloud - gitweb
LU-7441 nrs: Free hash table if failed to start a nrs policy
[fs/lustre-release.git] / lustre / ptlrpc / nrs_tbf.c
index f3ba8f0..348a9e8 100644 (file)
@@ -787,6 +787,10 @@ nrs_tbf_jobid_startup(struct ptlrpc_nrs_policy *policy,
        start.tc_name = NRS_TBF_DEFAULT_RULE;
        INIT_LIST_HEAD(&start.u.tc_start.ts_jobids);
        rc = nrs_tbf_rule_start(policy, head, &start);
+       if (rc) {
+               cfs_hash_putref(head->th_cli_hash);
+               head->th_cli_hash = NULL;
+       }
 
        return rc;
 }
@@ -1116,6 +1120,10 @@ nrs_tbf_nid_startup(struct ptlrpc_nrs_policy *policy,
        start.tc_name = NRS_TBF_DEFAULT_RULE;
        INIT_LIST_HEAD(&start.u.tc_start.ts_nids);
        rc = nrs_tbf_rule_start(policy, head, &start);
+       if (rc) {
+               cfs_hash_putref(head->th_cli_hash);
+               head->th_cli_hash = NULL;
+       }
 
        return rc;
 }