int rc;
dlh = mdd_pdo_read_lock(env, mdd_obj, name);
+ if (dlh == NULL)
+ return -ENOMEM;
rc = __mdd_lookup(env, pobj, name, fid, mask);
mdd_pdo_read_unlock(env, mdd_obj, dlh);
RETURN(PTR_ERR(handle));
dlh = mdd_pdo_write_lock(env, mdd_tobj, name);
+ if (dlh == NULL)
+ GOTO(out_trans, rc = -ENOMEM);
mdd_write_lock(env, mdd_sobj);
rc = mdd_link_sanity_check(env, mdd_tobj, mdd_sobj);
out:
mdd_write_unlock(env, mdd_sobj);
mdd_pdo_write_unlock(env, mdd_tobj, dlh);
+out_trans:
mdd_trans_stop(env, mdd, rc, handle);
RETURN(rc);
}
RETURN(PTR_ERR(handle));
dlh = mdd_pdo_write_lock(env, mdd_pobj, name);
+ if (dlh == NULL)
+ GOTO(out_trans, rc = -ENOMEM);
mdd_write_lock(env, mdd_cobj);
rc = mdd_unlink_sanity_check(env, mdd_pobj, mdd_cobj, ma);
cleanup:
mdd_write_unlock(env, mdd_cobj);
mdd_pdo_write_unlock(env, mdd_pobj, dlh);
+out_trans:
mdd_trans_stop(env, mdd, rc, handle);
RETURN(rc);
}
RETURN(PTR_ERR(handle));
dlh = mdd_pdo_write_lock(env, mdd_obj, name);
+ if (dlh == NULL)
+ GOTO(out_trans, rc = -ENOMEM);
rc = mdd_ni_sanity_check(env, pobj, name, fid);
if (rc)
GOTO(out_unlock, rc);
out_unlock:
mdd_pdo_write_unlock(env, mdd_obj, dlh);
+out_trans:
mdd_trans_stop(env, mdo2mdd(pobj), rc, handle);
RETURN(rc);
}
RETURN(PTR_ERR(handle));
dlh = mdd_pdo_write_lock(env, mdd_obj, name);
+ if (dlh == NULL)
+ GOTO(out_trans, rc = -ENOMEM);
rc = mdd_nr_sanity_check(env, pobj, name);
if (rc)
GOTO(out_unlock, rc);
out_unlock:
mdd_pdo_write_unlock(env, mdd_obj, dlh);
+out_trans:
mdd_trans_stop(env, mdd, rc, handle);
RETURN(rc);
}
RETURN(PTR_ERR(handle));
dlh = mdd_pdo_write_lock(env, mdd_tpobj, name);
+ if (dlh == NULL)
+ GOTO(out_trans, rc = -ENOMEM);
if (mdd_tobj)
mdd_write_lock(env, mdd_tobj);
if (tobj)
mdd_write_unlock(env, mdd_tobj);
mdd_pdo_write_unlock(env, mdd_tpobj, dlh);
+out_trans:
mdd_trans_stop(env, mdd, rc, handle);
RETURN(rc);
}
RETURN(PTR_ERR(handle));
dlh = mdd_pdo_write_lock(env, mdd_pobj, name);
+ if (dlh == NULL)
+ GOTO(out_trans, rc = -ENOMEM);
/*
* XXX check that link can be added to the parent in mkdir case.
if (lmm)
OBD_FREE(lmm, lmm_size);
mdd_pdo_write_unlock(env, mdd_pobj, dlh);
+out_trans:
mdd_trans_stop(env, mdd, rc, handle);
mdd_lproc_time_end(mdd, &start, LPROC_MDD_CREATE);
RETURN(rc);
tdlh = mdd_pdo_write_lock(env, mdd_tpobj, tname);
sdlh = mdd_pdo_write_lock(env, mdd_spobj, sname);
}
+ if (sdlh == NULL || tdlh == NULL)
+ GOTO(cleanup, rc = -ENOMEM);
rc = mdd_rename_sanity_check(env, mdd_spobj, mdd_tpobj,
lf, is_dir, mdd_tobj);
}
cleanup:
- mdd_pdo_write_unlock(env, mdd_spobj, sdlh);
+ if (likely(sdlh))
+ mdd_pdo_write_unlock(env, mdd_spobj, sdlh);
if (tdlh)
mdd_pdo_write_unlock(env, mdd_tpobj, tdlh);
cleanup_unlocked: