/* resource.c - internal */
struct ldlm_resource *ldlm_resource_get(struct ldlm_namespace *ns,
- struct ldlm_resource *parent,
const struct ldlm_res_id *,
enum ldlm_type type, int create);
struct ldlm_resource *ldlm_resource_getref(struct ldlm_resource *res);
ENTRY;
- res = ldlm_resource_get(arg->lpa_export->exp_obd->obd_namespace, NULL,
+ res = ldlm_resource_get(arg->lpa_export->exp_obd->obd_namespace,
&arg->lpa_resid, LDLM_EXTENT, 0);
if (IS_ERR(res)) {
CDEBUG(D_DLMTRACE, "Failed to get resource for resid %llu/%llu\n",
type = oldres->lr_type;
unlock_res_and_lock(lock);
- newres = ldlm_resource_get(ns, NULL, new_resid, type, 1);
+ newres = ldlm_resource_get(ns, new_resid, type, 1);
if (IS_ERR(newres))
RETURN(PTR_ERR(newres));
*data.lmd_mode = data.lmd_old->l_req_mode;
}
- res = ldlm_resource_get(ns, NULL, res_id, type, 0);
+ res = ldlm_resource_get(ns, res_id, type, 0);
if (IS_ERR(res)) {
LASSERT(data.lmd_old == NULL);
RETURN(0);
int rc;
ENTRY;
- res = ldlm_resource_get(ns, NULL, res_id, type, 1);
+ res = ldlm_resource_get(ns, res_id, type, 1);
if (IS_ERR(res))
RETURN(ERR_CAST(res));
ENTRY;
- res = ldlm_resource_get(ns, NULL, res_id, 0, 0);
+ res = ldlm_resource_get(ns, res_id, 0, 0);
if (IS_ERR(res)) {
/* This is not a problem. */
CDEBUG(D_INFO, "No resource %llu\n", res_id->name[0]);
LASSERTF(ns != NULL, "must pass in namespace\n");
- res = ldlm_resource_get(ns, NULL, res_id, 0, 0);
+ res = ldlm_resource_get(ns, res_id, 0, 0);
if (IS_ERR(res))
RETURN(0);
* Returns: referenced, unlocked ldlm_resource or ERR_PTR
*/
struct ldlm_resource *
-ldlm_resource_get(struct ldlm_namespace *ns, struct ldlm_resource *parent,
- const struct ldlm_res_id *name, enum ldlm_type type,
- int create)
+ldlm_resource_get(struct ldlm_namespace *ns, const struct ldlm_res_id *name,
+ enum ldlm_type type, int create)
{
struct hlist_node *hnode;
struct ldlm_resource *res = NULL;
int hash;
LASSERT(ns != NULL);
- LASSERT(parent == NULL);
LASSERT(ns->ns_rs_hash != NULL);
LASSERT(name->name[0] != 0);
resname = &osc_env_info(env)->oti_resname;
fid_build_reg_res_name(lu_object_fid(osc2lu(osc)), resname);
- res = ldlm_resource_get(osc_export(osc)->exp_obd->obd_namespace,
- NULL, resname, LDLM_IBITS, 0);
+ res = ldlm_resource_get(osc_export(osc)->
+ exp_obd->obd_namespace,
+ resname, LDLM_IBITS, 0);
if (IS_ERR(res))
CERROR("No lock resource for "DFID"\n",
PFID(lu_object_fid(osc2lu(osc))));
fid_build_reg_res_name(fid, &res_id);
- res = ldlm_resource_get(ns, NULL, &res_id, 0, 0);
+ res = ldlm_resource_get(ns, &res_id, 0, 0);
if (IS_ERR(res))
RETURN(0);
if (exp_connect_cancelset(exp) && !ns_connect_cancelset(ns))
RETURN(0);
- res = ldlm_resource_get(ns, NULL, res_id, 0, 0);
+ res = ldlm_resource_get(ns, res_id, 0, 0);
if (IS_ERR(res))
RETURN(0);
LDLM_RESOURCE_ADDREF(res);
ENTRY;
- res = ldlm_resource_get(arg->lpa_export->exp_obd->obd_namespace, NULL,
+ res = ldlm_resource_get(arg->lpa_export->exp_obd->obd_namespace,
&arg->lpa_resid, LDLM_IBITS, 0);
if (IS_ERR(res)) {
CDEBUG(D_DLMTRACE,
struct ldlm_resource *res;
fid_build_reg_res_name(mdt_object_fid(mo), &resid);
- res = ldlm_resource_get(mdt->mdt_namespace, NULL, &resid,
- LDLM_IBITS, 1);
+ res = ldlm_resource_get(mdt->mdt_namespace, &resid, LDLM_IBITS, 1);
if (IS_ERR(res))
return;
ENTRY;
fid_build_reg_res_name(fid, &resid);
- res = ldlm_resource_get(mdt->mdt_namespace, NULL, &resid,
- LDLM_IBITS, 1);
+ res = ldlm_resource_get(mdt->mdt_namespace, &resid, LDLM_IBITS, 1);
if (IS_ERR(res))
RETURN(-ENOENT);
if (rc)
RETURN(rc);
- res = ldlm_resource_get(mgs->mgs_obd->obd_namespace, NULL, &res_id,
+ res = ldlm_resource_get(mgs->mgs_obd->obd_namespace, &res_id,
LDLM_PLAIN, 0);
if (IS_ERR(res))
RETURN(PTR_ERR(res));
* otherwise concurrent destroy can make the object unavailable
* for 2nd lu_object_find() waiting for the first reference
* to go... deadlock! */
- res = ldlm_resource_get(ofd->ofd_namespace, NULL,
- &tsi->tsi_resid, LDLM_EXTENT, 0);
+ res = ldlm_resource_get(ofd->ofd_namespace, &tsi->tsi_resid,
+ LDLM_EXTENT, 0);
if (!IS_ERR(res)) {
ldlm_res_lvbo_update(res, NULL, 0);
ldlm_resource_putref(res);
if (srvlock)
tgt_data_unlock(&lh, LCK_PW);
if (rc == 0) {
- res = ldlm_resource_get(ns, NULL, &tsi->tsi_resid,
- LDLM_EXTENT, 0);
+ res = ldlm_resource_get(ns, &tsi->tsi_resid, LDLM_EXTENT, 0);
if (!IS_ERR(res)) {
struct ost_lvb *res_lvb;
* otherwise concurrent destroy can make the object unavailable
* for 2nd lu_object_find() waiting for the first reference
* to go... deadlock! */
- res = ldlm_resource_get(ns, NULL, &tsi->tsi_resid,
- LDLM_EXTENT, 0);
+ res = ldlm_resource_get(ns, &tsi->tsi_resid, LDLM_EXTENT, 0);
if (!IS_ERR(res)) {
struct ost_lvb *res_lvb;
*/
if (rc == 0 && (rnb[0].rnb_flags & OBD_BRW_SRVLOCK)) {
ost_fid_build_resid(fid, &info->fti_resid);
- rs = ldlm_resource_get(ns, NULL, &info->fti_resid,
+ rs = ldlm_resource_get(ns, &info->fti_resid,
LDLM_EXTENT, 0);
if (!IS_ERR(rs)) {
ldlm_res_lvbo_update(rs, NULL, 1);
* for 2nd lu_object_find() waiting for the first reference
* to go... deadlock!
*/
- res = ldlm_resource_get(ns, NULL, &info->fti_resid,
- LDLM_EXTENT, 0);
+ res = ldlm_resource_get(ns, &info->fti_resid, LDLM_EXTENT, 0);
if (!IS_ERR(res)) {
ldlm_res_lvbo_update(res, NULL, 0);
ldlm_resource_putref(res);
resname = &osc_env_info(env)->oti_resname;
ostid_build_res_name(&oinfo->loi_oi, resname);
- res = ldlm_resource_get(
- osc_export(cl2osc(obj))->exp_obd->obd_namespace,
- NULL, resname, LDLM_EXTENT, 0);
+ res = ldlm_resource_get(osc_export(cl2osc(obj))->
+ exp_obd->obd_namespace,
+ resname, LDLM_EXTENT, 0);
if (IS_ERR(res))
CERROR("No lock resource\n");
else
RETURN(0);
ostid_build_res_name(&oa->o_oi, &res_id);
- res = ldlm_resource_get(ns, NULL, &res_id, 0, 0);
+ res = ldlm_resource_get(ns, &res_id, 0, 0);
if (IS_ERR(res))
RETURN(0);
/* look up ldlm resource associated with global index */
fid_build_reg_res_name(&qti->qti_fid, &qti->qti_resid);
- res = ldlm_resource_get(pool->qpi_qmt->qmt_ns, NULL, &qti->qti_resid,
+ res = ldlm_resource_get(pool->qpi_qmt->qmt_ns, &qti->qti_resid,
LDLM_PLAIN, 0);
if (IS_ERR(res)) {
/* this might happen if no slaves have enqueued global quota
lquota_generate_fid(&qti->qti_fid, pool->qpi_rtype, lqe_qtype(lqe));
fid_build_quota_res_name(&qti->qti_fid, &lqe->lqe_id, &qti->qti_resid);
- res = ldlm_resource_get(qmt->qmt_ns, NULL, &qti->qti_resid, LDLM_PLAIN,
- 0);
+ res = ldlm_resource_get(qmt->qmt_ns, &qti->qti_resid, LDLM_PLAIN, 0);
if (IS_ERR(res)) {
/* this might legitimately happens if slaves haven't had the
* opportunity to enqueue quota lock yet. */