* GPL HEADER END
*/
/*
- * Copyright (c) 2013, 2016, Intel Corporation.
+ * Copyright (c) 2013, 2017, Intel Corporation.
*
* Copyright 2012 Xyratex Technology Limited
*/
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,
&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;
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);
libcfs_id2str(req->rq_peer), nrq->nr_u.crr.cr_round);
}
-#ifdef CONFIG_PROC_FS
-
/**
- * lprocfs interface
+ * debugfs interface
*/
/**
val = lprocfs_find_named_value(kernbuf, NRS_LPROCFS_QUANTUM_NAME_REG,
&count_copy);
if (val != kernbuf) {
- quantum_reg = simple_strtol(val, NULL, 10);
+ rc = kstrtol(val, 10, &quantum_reg);
+ if (rc)
+ return rc;
queue |= PTLRPC_NRS_QUEUE_REG;
}
if (!nrs_svc_has_hp(svc))
return -ENODEV;
- quantum_hp = simple_strtol(val, NULL, 10);
+ rc = kstrtol(val, 10, &quantum_hp);
+ if (rc)
+ return rc;
queue |= PTLRPC_NRS_QUEUE_HP;
}
* value
*/
if (queue == 0) {
- if (!isdigit(kernbuf[0]))
- return -EINVAL;
-
- quantum_reg = simple_strtol(kernbuf, NULL, 10);
+ rc = kstrtol(kernbuf, 10, &quantum_reg);
+ if (rc)
+ return rc;
queue = PTLRPC_NRS_QUEUE_REG;
return rc == -ENODEV && rc2 == -ENODEV ? -ENODEV : count;
}
-LPROC_SEQ_FOPS(ptlrpc_lprocfs_nrs_crrn_quantum);
+
+LDEBUGFS_SEQ_FOPS(ptlrpc_lprocfs_nrs_crrn_quantum);
/**
* Initializes a CRR-N policy's lprocfs interface for service \a svc
{ NULL }
};
- if (svc->srv_procroot == NULL)
+ if (IS_ERR_OR_NULL(svc->srv_debugfs_entry))
return 0;
- return lprocfs_add_vars(svc->srv_procroot, nrs_crrn_lprocfs_vars, NULL);
-}
-
-/**
- * Cleans up a CRR-N policy's lprocfs interface for service \a svc
- *
- * \param[in] svc the service
- */
-static void nrs_crrn_lprocfs_fini(struct ptlrpc_service *svc)
-{
- if (svc->srv_procroot == NULL)
- return;
-
- lprocfs_remove_proc_entry("nrs_crrn_quantum", svc->srv_procroot);
+ return ldebugfs_add_vars(svc->srv_debugfs_entry, nrs_crrn_lprocfs_vars, NULL);
}
-#endif /* CONFIG_PROC_FS */
-
/**
* CRR-N policy operations
*/
.op_req_enqueue = nrs_crrn_req_add,
.op_req_dequeue = nrs_crrn_req_del,
.op_req_stop = nrs_crrn_req_stop,
-#ifdef CONFIG_PROC_FS
.op_lprocfs_init = nrs_crrn_lprocfs_init,
- .op_lprocfs_fini = nrs_crrn_lprocfs_fini,
-#endif
};
/**