#include "mdt_internal.h"
-/* functions below are stubs for now, they will be implemented with
- * grant support on MDT */
-static inline void mdt_dom_read_lock(struct mdt_object *mo)
-{
- down_read(&mo->mot_dom_sem);
-}
-
-static inline void mdt_dom_read_unlock(struct mdt_object *mo)
-{
- up_read(&mo->mot_dom_sem);
-}
-
-static inline void mdt_dom_write_lock(struct mdt_object *mo)
-{
- down_write(&mo->mot_dom_sem);
-}
-
-static inline void mdt_dom_write_unlock(struct mdt_object *mo)
-{
- up_write(&mo->mot_dom_sem);
-}
-
static void mdt_dom_resource_prolong(struct ldlm_prolong_args *arg)
{
struct ldlm_resource *res;
ENTRY;
- mdt_dom_read_lock(mo);
+ down_read(&mo->mot_dom_sem);
*nr_local = 0;
/* the only valid case when READ can find object is missing or stale
* when export is just evicted and open files are closed forcefully
RETURN(0);
buf_put:
dt_bufs_put(env, dob, lnb, *nr_local);
- mdt_dom_read_unlock(mo);
+ up_read(&mo->mot_dom_sem);
return rc;
}
* space back if possible */
tgt_grant_prepare_write(env, exp, oa, rnb, obj->ioo_bufcnt);
- mdt_dom_read_lock(mo);
+ down_read(&mo->mot_dom_sem);
*nr_local = 0;
/* don't report error in cases with failed export */
if (!mdt_object_exists(mo)) {
err:
dt_bufs_put(env, dob, lnb, *nr_local);
unlock:
- mdt_dom_read_unlock(mo);
+ up_read(&mo->mot_dom_sem);
/* tgt_grant_prepare_write() was called, so we must commit */
tgt_grant_commit(exp, oa->o_grant_used, rc);
/* let's still process incoming grant information packed in the oa,
if (niocount)
dt_bufs_put(env, dob, lnb, niocount);
- mdt_dom_read_unlock(mo);
+ up_read(&mo->mot_dom_sem);
RETURN(rc);
}
out:
dt_bufs_put(env, dob, lnb, niocount);
- mdt_dom_read_unlock(mo);
+ up_read(&mo->mot_dom_sem);
if (granted > 0)
tgt_grant_commit(exp, granted, old_rc);
RETURN(rc);
la_from_obdo(la, oa, OBD_MD_FLMTIME | OBD_MD_FLATIME | OBD_MD_FLCTIME);
- mdt_dom_write_lock(mo);
+ down_write(&mo->mot_dom_sem);
dob = mdt_obj2dt(mo);
if (la->la_valid & (LA_ATIME | LA_MTIME | LA_CTIME))
rc = mdt_object_fallocate(tsi->tsi_env, mdt->mdt_bottom, dob, start,
end, mode, la);
- mdt_dom_write_unlock(mo);
+ up_write(&mo->mot_dom_sem);
if (rc)
GOTO(out_put, rc);
if (IS_ERR(mo))
RETURN(PTR_ERR(mo));
- mdt_dom_read_lock(mo);
+ down_read(&mo->mot_dom_sem);
if (!mdt_object_exists(mo))
GOTO(out, rc = -ENOENT);
if (mdt_object_remote(mo))
rc = dt_fiemap_get(env, mdt_obj2dt(mo), fiemap);
out:
- mdt_dom_read_unlock(mo);
+ up_read(&mo->mot_dom_sem);
lu_object_put(env, &mo->mot_obj);
RETURN(rc);
}
GOTO(out_put, rc);
}
- mdt_dom_write_lock(mo);
+ down_write(&mo->mot_dom_sem);
dob = mdt_obj2dt(mo);
la_from_obdo(la, oa, OBD_MD_FLMTIME | OBD_MD_FLATIME | OBD_MD_FLCTIME);
rc = mdt_object_punch(tsi->tsi_env, mdt->mdt_bottom, dob,
start, end, la);
- mdt_dom_write_unlock(mo);
+ up_write(&mo->mot_dom_sem);
if (rc)
GOTO(out_put, rc);