Whamcloud - gitweb
LU-9750 nrs: some code cleanup in NRS policies 19/25319/3
authorEmoly Liu <emoly.liu@intel.com>
Wed, 8 Feb 2017 06:21:09 +0000 (14:21 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 19 Jul 2017 03:29:43 +0000 (03:29 +0000)
This patch does some code cleanup in NRS CRR and ORR polices,
including:
- remove the useless NULL checks
- handle errors properly by multiple labels instead of a single one

Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Change-Id: Iafe86ac94042547e83c69e4b46ff7bf1ca31f073
Reviewed-on: https://review.whamcloud.com/25319
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/ptlrpc/nrs_crr.c
lustre/ptlrpc/nrs_orr.c

index b9f87d6..6a54fa0 100644 (file)
@@ -194,7 +194,7 @@ static int nrs_crrn_start(struct ptlrpc_nrs_policy *policy, char *arg)
                                             nrs_pol2cptab(policy),
                                             nrs_pol2cptid(policy));
        if (net->cn_binheap == NULL)
-               GOTO(failed, rc = -ENOMEM);
+               GOTO(out_net, rc = -ENOMEM);
 
        net->cn_cli_hash = cfs_hash_create("nrs_crrn_nid_hash",
                                           NRS_NID_BITS, NRS_NID_BITS,
@@ -204,7 +204,7 @@ static int nrs_crrn_start(struct ptlrpc_nrs_policy *policy, char *arg)
                                           &nrs_crrn_hash_ops,
                                           CFS_HASH_RW_BKTLOCK);
        if (net->cn_cli_hash == NULL)
-               GOTO(failed, rc = -ENOMEM);
+               GOTO(out_binheap, rc = -ENOMEM);
 
        /**
         * Set default quantum value to max_rpcs_in_flight for non-MDS OSCs;
@@ -223,10 +223,9 @@ static int nrs_crrn_start(struct ptlrpc_nrs_policy *policy, char *arg)
 
        RETURN(rc);
 
-failed:
-       if (net->cn_binheap != NULL)
-               cfs_binheap_destroy(net->cn_binheap);
-
+out_binheap:
+       cfs_binheap_destroy(net->cn_binheap);
+out_net:
        OBD_FREE_PTR(net);
 
        RETURN(rc);
index 284f81f..857b333 100644 (file)
@@ -638,7 +638,7 @@ static int nrs_orr_start(struct ptlrpc_nrs_policy *policy, char *arg)
                                              nrs_pol2cptab(policy),
                                              nrs_pol2cptid(policy));
        if (orrd->od_binheap == NULL)
-               GOTO(failed, rc = -ENOMEM);
+               GOTO(out_orrd, rc = -ENOMEM);
 
        nrs_orr_genobjname(policy, orrd->od_objname);
 
@@ -649,7 +649,7 @@ static int nrs_orr_start(struct ptlrpc_nrs_policy *policy, char *arg)
                                           sizeof(struct nrs_orr_object),
                                           0, 0, NULL);
        if (orrd->od_cache == NULL)
-               GOTO(failed, rc = -ENOMEM);
+               GOTO(out_binheap, rc = -ENOMEM);
 
        if (strncmp(policy->pol_desc->pd_name, NRS_POL_NAME_ORR,
                    NRS_POL_NAME_MAX) == 0) {
@@ -677,7 +677,7 @@ static int nrs_orr_start(struct ptlrpc_nrs_policy *policy, char *arg)
                                            CFS_HASH_MIN_THETA,
                                            CFS_HASH_MAX_THETA, ops, flags);
        if (orrd->od_obj_hash == NULL)
-               GOTO(failed, rc = -ENOMEM);
+               GOTO(out_cache, rc = -ENOMEM);
 
        /* XXX: Fields accessed unlocked */
        orrd->od_quantum = NRS_ORR_QUANTUM_DFLT;
@@ -693,12 +693,11 @@ static int nrs_orr_start(struct ptlrpc_nrs_policy *policy, char *arg)
 
        RETURN(rc);
 
-failed:
-       if (orrd->od_cache)
-               kmem_cache_destroy(orrd->od_cache);
-       if (orrd->od_binheap != NULL)
-               cfs_binheap_destroy(orrd->od_binheap);
-
+out_cache:
+       kmem_cache_destroy(orrd->od_cache);
+out_binheap:
+       cfs_binheap_destroy(orrd->od_binheap);
+out_orrd:
        OBD_FREE_PTR(orrd);
 
        RETURN(rc);