DT_IND_RANGE = 1 << 4,
};
+/* for dt_read_lock() and dt_write_lock() object lock rule */
+enum dt_object_role {
+ DT_SRC_PARENT,
+ DT_SRC_CHILD,
+ DT_TGT_PARENT,
+ DT_TGT_CHILD,
+ DT_TGT_ORPHAN,
+ DT_LASTID,
+};
+
/**
* Features, required from index to support file system directories (mapping
* names to fids).
return m->md_ops->mdo_statfs(env, m, sfs);
}
-/**
- * Used in MDD/OUT layer for object lock rule
- **/
-enum mdd_object_role {
- MOR_SRC_PARENT,
- MOR_SRC_CHILD,
- MOR_TGT_PARENT,
- MOR_TGT_CHILD,
- MOR_TGT_ORPHAN
-};
-
struct dt_device;
void lustre_som_swab(struct lustre_som_attrs *attrs);
GOTO(out, rc = 0);
}
- dt_read_lock(env, obj, MOR_TGT_CHILD);
+ dt_read_lock(env, obj, DT_TGT_CHILD);
if (unlikely(lfsck_is_dead_obj(obj))) {
dt_read_unlock(env, obj);
/* if it's source stripe of migrating directory, don't create */
if (!((lo->ldo_dir_hash_type & LMV_HASH_FLAG_MIGRATION) &&
i >= lo->ldo_dir_migrate_offset)) {
- dt_write_lock(env, dto, MOR_TGT_CHILD);
+ dt_write_lock(env, dto, DT_TGT_CHILD);
rc = lod_sub_create(env, dto, attr, NULL, dof, th);
if (rc != 0) {
dt_write_unlock(env, dto);
if (!OBD_FAIL_CHECK(OBD_FAIL_LFSCK_LOST_SPEOBJ) ||
i == cfs_fail_val) {
- dt_write_lock(env, stripe, MOR_TGT_CHILD);
+ dt_write_lock(env, stripe, DT_TGT_CHILD);
rc = lod_sub_ref_del(env, stripe, th);
dt_write_unlock(env, stripe);
if (rc != 0)
}
rc = mdd_permission_internal_locked(env, mdd_obj, pattr, mask,
- MOR_TGT_PARENT);
+ DT_TGT_PARENT);
if (rc)
RETURN(rc);
if (check_perm)
rc = mdd_permission_internal_locked(env, pobj, pattr,
MAY_WRITE | MAY_EXEC,
- MOR_TGT_PARENT);
+ DT_TGT_PARENT);
RETURN(rc);
}
rc = mdd_permission_internal_locked(env, pobj, pattr,
MAY_WRITE | MAY_EXEC,
- MOR_TGT_PARENT);
+ DT_TGT_PARENT);
if (rc != 0)
RETURN(rc);
int rc;
rc = mdd_permission_internal_locked(env, pobj, pattr,
MAY_WRITE | MAY_EXEC,
- MOR_TGT_PARENT);
+ DT_TGT_PARENT);
if (rc)
RETURN(rc);
}
rc = __mdd_index_insert_only(env, pobj, lf, type, name, handle);
if (rc == 0 && S_ISDIR(type)) {
- mdd_write_lock(env, pobj, MOR_TGT_PARENT);
+ mdd_write_lock(env, pobj, DT_TGT_PARENT);
mdo_ref_add(env, pobj, handle);
mdd_write_unlock(env, pobj);
}
const char *name, int is_dir,
struct thandle *handle)
{
- int rc;
- ENTRY;
+ int rc;
+ ENTRY;
rc = __mdd_index_delete_only(env, pobj, name, handle);
- if (rc == 0 && is_dir) {
- mdd_write_lock(env, pobj, MOR_TGT_PARENT);
- mdo_ref_del(env, pobj, handle);
- mdd_write_unlock(env, pobj);
- }
+ if (rc == 0 && is_dir) {
+ mdd_write_lock(env, pobj, DT_TGT_PARENT);
+ mdo_ref_del(env, pobj, handle);
+ mdd_write_unlock(env, pobj);
+ }
- RETURN(rc);
+ RETURN(rc);
}
static int mdd_llog_record_calc_size(const struct lu_env *env,
if (rc)
GOTO(stop, rc);
- mdd_write_lock(env, mdd_sobj, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdd_sobj, DT_TGT_CHILD);
rc = mdd_link_sanity_check(env, mdd_tobj, tattr, lname, mdd_sobj,
cattr);
if (rc)
GOTO(stop, rc);
if (likely(mdd_cobj != NULL))
- mdd_write_lock(env, mdd_cobj, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdd_cobj, DT_TGT_CHILD);
if (likely(no_name == 0) && !OBD_FAIL_CHECK(OBD_FAIL_LFSCK_DANGLING2)) {
rc = __mdd_index_delete(env, mdd_pobj, name, is_dir, handle);
RETURN(0);
}
- mdd_read_lock(env, pobj, MOR_TGT_PARENT);
+ mdd_read_lock(env, pobj, DT_TGT_PARENT);
rc = mdo_xattr_get(env, pobj, def_acl_buf,
XATTR_NAME_ACL_DEFAULT);
mdd_read_unlock(env, pobj);
const struct lu_buf *buf;
int rc;
- mdd_write_lock(env, son, MOR_TGT_CHILD);
+ mdd_write_lock(env, son, DT_TGT_CHILD);
rc = mdd_create_object_internal(env, NULL, son, attr, handle, spec,
hint);
if (rc)
GOTO(out_stop, rc);
if (unlikely(spec->sp_cr_flags & MDS_OPEN_VOLATILE)) {
- mdd_write_lock(env, son, MOR_TGT_CHILD);
+ mdd_write_lock(env, son, DT_TGT_CHILD);
son->mod_flags |= VOLATILE_OBJ;
rc = mdd_orphan_insert(env, son, handle);
GOTO(out_volatile, rc);
goto out_stop;
err_created:
- mdd_write_lock(env, son, MOR_TGT_CHILD);
+ mdd_write_lock(env, son, DT_TGT_CHILD);
if (S_ISDIR(attr->la_mode)) {
/* Drop the reference, no need to delete "."/"..",
* because the object is to be destroyed directly. */
GOTO(fixup_tpobj, rc);
/* Update the linkEA for the source object */
- mdd_write_lock(env, mdd_sobj, MOR_SRC_CHILD);
+ mdd_write_lock(env, mdd_sobj, DT_SRC_CHILD);
rc = mdd_links_rename(env, mdd_sobj, mdo2fid(mdd_spobj), lsname,
mdo2fid(mdd_tpobj), ltname, handle, ldata,
0, 0);
* it must be local one.
*/
if (tobj && mdd_object_exists(mdd_tobj)) {
- mdd_write_lock(env, mdd_tobj, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdd_tobj, DT_TGT_CHILD);
tobj_locked = 1;
if (mdd_is_dead_obj(mdd_tobj)) {
/* shld not be dead, something is wrong */
ENTRY;
if (!mdd_object_remote(sobj)) {
- mdd_read_lock(env, sobj, MOR_SRC_CHILD);
+ mdd_read_lock(env, sobj, DT_SRC_CHILD);
if (sobj->mod_count > 0) {
CDEBUG(D_INFO, "%s: "DFID" is opened, count %d\n",
mdd2obd_dev(mdd)->obd_name, PFID(mdo2fid(sobj)),
if (index < del_offset)
RETURN(0);
- mdd_write_lock(env, stripe, MOR_SRC_CHILD);
+ mdd_write_lock(env, stripe, DT_SRC_CHILD);
rc = __mdd_index_delete_only(env, stripe, dotdot, handle);
if (rc)
GOTO(out, rc);
RETURN(rc);
}
- mdd_write_lock(env, stripe, MOR_SRC_CHILD);
+ mdd_write_lock(env, stripe, DT_SRC_CHILD);
rc = mdo_ref_del(env, stripe, handle);
if (!rc)
rc = mdo_destroy(env, stripe, handle);
RETURN(-ENOENT);
}
- mdd_write_lock(env, pobj, MOR_TGT_PARENT);
+ mdd_write_lock(env, pobj, DT_TGT_PARENT);
rc = __mdd_index_delete_only(env, pobj, lname->ln_name, handle);
if (!rc)
rc = __mdd_index_insert_only(env, pobj, mdo2fid(tobj),
if (rc)
RETURN(rc);
- mdd_write_lock(env, tobj, MOR_TGT_CHILD);
+ mdd_write_lock(env, tobj, DT_TGT_CHILD);
rc = mdo_ref_add(env, tobj, handle);
mdd_write_unlock(env, tobj);
if (rc)
RETURN(rc);
- mdd_write_lock(env, sobj, MOR_SRC_CHILD);
+ mdd_write_lock(env, sobj, DT_SRC_CHILD);
rc = mdo_ref_del(env, sobj, handle);
mdd_write_unlock(env, sobj);
ENTRY;
- mdd_write_lock(env, obj, MOR_SRC_PARENT);
+ mdd_write_lock(env, obj, DT_SRC_PARENT);
if (!lmv_buf->lb_buf)
/* normal dir */
rc = __mdd_index_delete_only(env, obj, dotdot, handle);
* stripes again.
*/
if (sbuf->lb_buf) {
- mdd_write_lock(env, sobj, MOR_SRC_CHILD);
+ mdd_write_lock(env, sobj, DT_SRC_CHILD);
rc = mdo_xattr_del(env, sobj, XATTR_NAME_LMV, handle);
mdd_write_unlock(env, sobj);
if (rc)
if (rc)
RETURN(rc);
- mdd_write_lock(env, tobj, MOR_TGT_CHILD);
+ mdd_write_lock(env, tobj, DT_TGT_CHILD);
rc = mdd_iterate_xattrs(env, sobj, tobj, true, handle, mdo_xattr_set);
mdd_write_unlock(env, tobj);
if (rc)
RETURN(rc);
/* delete LOV to avoid deleting OST objs when destroying sobj */
- mdd_write_lock(env, sobj, MOR_SRC_CHILD);
+ mdd_write_lock(env, sobj, DT_SRC_CHILD);
rc = mdo_xattr_del(env, sobj, XATTR_NAME_LOV, handle);
mdd_write_unlock(env, sobj);
if (rc)
la->la_ctime = la->la_mtime = ma->ma_attr.la_ctime;
la->la_valid = LA_CTIME | LA_MTIME;
- mdd_write_lock(env, spobj, MOR_SRC_PARENT);
+ mdd_write_lock(env, spobj, DT_SRC_PARENT);
rc = mdd_update_time(env, spobj, spattr, la, handle);
mdd_write_unlock(env, spobj);
if (rc)
if (tpobj != spobj) {
la->la_valid = LA_CTIME | LA_MTIME;
- mdd_write_lock(env, tpobj, MOR_TGT_PARENT);
+ mdd_write_lock(env, tpobj, DT_TGT_PARENT);
rc = mdd_update_time(env, tpobj, tpattr, la, handle);
mdd_write_unlock(env, tpobj);
if (rc)
* message, this won't cause any inconsistency or trouble.
*/
if (do_create && do_destroy) {
- mdd_write_lock(env, sobj, MOR_SRC_CHILD);
+ mdd_write_lock(env, sobj, DT_SRC_CHILD);
mdo_ref_del(env, sobj, handle);
rc = mdo_destroy(env, sobj, handle);
mdd_write_unlock(env, sobj);
lmu->lum_stripe_count = cpu_to_le32(1);
/* delete LMV to avoid deleting stripes again upon destroy */
- mdd_write_lock(env, obj, MOR_SRC_CHILD);
+ mdd_write_lock(env, obj, DT_SRC_CHILD);
rc = mdo_xattr_del(env, obj, XATTR_NAME_LMV, handle);
mdd_write_unlock(env, obj);
if (rc)
}
/* destroy stripes after lmu_stripe_count */
- mdd_write_lock(env, obj, MOR_SRC_PARENT);
+ mdd_write_lock(env, obj, DT_SRC_PARENT);
rc = mdd_dir_iterate_stripes(env, obj, lmv_buf, &shrink_buf, handle,
mdd_dir_destroy_stripe);
mdd_write_unlock(env, obj);
LASSERT(pobj);
LASSERT(stripe);
- mdd_write_lock(env, pobj, MOR_SRC_PARENT);
- mdd_write_lock(env, obj, MOR_SRC_CHILD);
+ mdd_write_lock(env, pobj, DT_SRC_PARENT);
+ mdd_write_lock(env, obj, DT_SRC_CHILD);
/* insert dotdot to stripe which points to parent */
rc = __mdd_index_insert_only(env, stripe, mdo2fid(pobj), S_IFDIR,
/* mdd_lock.c */
void mdd_write_lock(const struct lu_env *env, struct mdd_object *obj,
- enum mdd_object_role role);
+ enum dt_object_role role);
void mdd_read_lock(const struct lu_env *env, struct mdd_object *obj,
- enum mdd_object_role role);
+ enum dt_object_role role);
void mdd_write_unlock(const struct lu_env *env, struct mdd_object *obj);
void mdd_read_unlock(const struct lu_env *env, struct mdd_object *obj);
int mdd_write_locked(const struct lu_env *env, struct mdd_object *obj);
struct mdd_object *obj,
const struct lu_attr *la,
int mask,
- enum mdd_object_role role)
+ enum dt_object_role role)
{
return __mdd_permission_internal(env, obj, la, mask, role);
}
#include "mdd_internal.h"
void mdd_write_lock(const struct lu_env *env, struct mdd_object *obj,
- enum mdd_object_role role)
+ enum dt_object_role role)
{
struct dt_object *next = mdd_object_child(obj);
}
void mdd_read_lock(const struct lu_env *env, struct mdd_object *obj,
- enum mdd_object_role role)
+ enum dt_object_role role)
{
struct dt_object *next = mdd_object_child(obj);
strcmp(name, XATTR_NAME_LINK) == 0))
RETURN(-ENOENT);
- mdd_read_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_read_lock(env, mdd_obj, DT_TGT_CHILD);
rc = mdo_xattr_get(env, mdd_obj, buf, name);
mdd_read_unlock(env, mdd_obj);
LASSERT(next != NULL);
LASSERT(next->do_body_ops != NULL);
LASSERT(next->do_body_ops->dbo_read != NULL);
- mdd_read_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_read_lock(env, mdd_obj, DT_TGT_CHILD);
rc = dt_read(env, next, buf, &pos);
mdd_read_unlock(env, mdd_obj);
RETURN(rc);
ENTRY;
- mdd_read_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_read_lock(env, mdd_obj, DT_TGT_CHILD);
rc = mdo_xattr_list(env, mdd_obj, buf);
mdd_read_unlock(env, mdd_obj);
#ifdef CONFIG_FS_POSIX_ACL
if (attr->la_valid & LA_MODE) {
- mdd_read_lock(env, obj, MOR_TGT_CHILD);
+ mdd_read_lock(env, obj, DT_TGT_CHILD);
rc = mdo_xattr_get(env, obj, &LU_BUF_NULL,
XATTR_NAME_ACL_ACCESS);
mdd_read_unlock(env, obj);
CDEBUG(D_INODE, "setting mtime %llu, ctime %llu\n",
la->la_mtime, la->la_ctime);
- mdd_write_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdd_obj, DT_TGT_CHILD);
/* LU-10509: setattr of LA_SIZE should be skipped case of DOM,
* otherwise following truncate will do nothing and truncated
RETURN(PTR_ERR(handle));
if (rc > 0) {
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
- mdd_write_lock(env, vic, MOR_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
+ mdd_write_lock(env, vic, DT_TGT_CHILD);
} else {
- mdd_write_lock(env, vic, MOR_TGT_CHILD);
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, vic, DT_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
}
/* get EA of victim file */
RETURN(PTR_ERR(handle));
if (rc > 0) {
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
- mdd_write_lock(env, vic, MOR_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
+ mdd_write_lock(env, vic, DT_TGT_CHILD);
} else {
- mdd_write_lock(env, vic, MOR_TGT_CHILD);
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, vic, DT_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
}
/* get EA of mirrored file */
if (rc)
GOTO(stop, rc);
- mdd_write_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdd_obj, DT_TGT_CHILD);
if (strcmp(XATTR_NAME_HSM, name) == 0) {
rc = mdd_hsm_update_locked(env, obj, buf, handle, &clf_flags);
if (rc)
GOTO(stop, rc);
- mdd_write_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdd_obj, DT_TGT_CHILD);
rc = mdo_xattr_del(env, mdd_obj, name, handle);
mdd_write_unlock(env, mdd_obj);
if (rc)
RETURN(PTR_ERR(handle));
/* objects are already sorted */
- mdd_write_lock(env, fst_o, MOR_TGT_CHILD);
- mdd_write_lock(env, snd_o, MOR_TGT_CHILD);
+ mdd_write_lock(env, fst_o, DT_TGT_CHILD);
+ mdd_write_lock(env, snd_o, DT_TGT_CHILD);
rc = mdd_stripe_get(env, fst_o, fst_buf, XATTR_NAME_LOV);
if (rc < 0 && rc != -ENODATA)
if (rc)
RETURN(rc);
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
rc = mdo_layout_change(env, obj, mlc, handle);
mdd_write_unlock(env, obj);
if (rc)
/* it needs a sync tx to make FLR to work properly */
handle->th_sync = 1;
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
rc = mdo_layout_change(env, obj, mlc, handle);
if (!rc && fl) {
/* SOM state transition from STRICT to STALE */
/* it needs a sync tx to make FLR to work properly */
handle->th_sync = 1;
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
rc = mdo_layout_change(env, obj, mlc, handle);
mdd_write_unlock(env, obj);
if (rc)
enum changelog_rec_type type = CL_OPEN;
int rc = 0;
- mdd_write_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdd_obj, DT_TGT_CHILD);
rc = mdd_la_get(env, mdd_obj, attr);
if (rc != 0)
ENTRY;
if (ma->ma_valid & MA_FLAGS && ma->ma_attr_flags & MDS_KEEP_ORPHAN) {
- mdd_write_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdd_obj, DT_TGT_CHILD);
mdd_obj->mod_count--;
mdd_write_unlock(env, mdd_obj);
}
cont:
- mdd_write_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdd_obj, DT_TGT_CHILD);
rc = mdd_la_get(env, mdd_obj, &ma->ma_attr);
if (rc != 0) {
CERROR("%s: failed to get lu_attr of "DFID": rc = %d\n",
return -ENOENT;
}
- mdd_read_lock(env, mdd_obj, MOR_TGT_CHILD);
+ mdd_read_lock(env, mdd_obj, DT_TGT_CHILD);
rc = mdd_readpage_sanity_check(env, mdd_obj);
if (rc)
GOTO(out_unlock, rc);
LASSERT(mdd_write_locked(env, obj) != 0);
LASSERT(!(obj->mod_flags & ORPHAN_OBJ));
- dt_write_lock(env, mdd->mdd_orphans, MOR_TGT_ORPHAN);
+ dt_write_lock(env, mdd->mdd_orphans, DT_TGT_ORPHAN);
rc = mdd_orphan_insert_obj(env, mdd, obj, th);
if (rc)
LASSERT(dor);
key = mdd_orphan_key_fill(env, mdo2fid(obj));
- dt_write_lock(env, mdd->mdd_orphans, MOR_TGT_ORPHAN);
+ dt_write_lock(env, mdd->mdd_orphans, DT_TGT_ORPHAN);
if (OBD_FAIL_CHECK(OBD_FAIL_MDS_ORPHAN_DELETE))
goto ref_del;
RETURN(rc);
}
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
rc = mdd_orphan_declare_delete(env, obj, th);
if (rc == -ENOENT)
orphan_exists = false;
GOTO(unlock, rc);
if (likely(obj->mod_count == 0)) {
- dt_write_lock(env, mdd->mdd_orphans, MOR_TGT_ORPHAN);
+ dt_write_lock(env, mdd->mdd_orphans, DT_TGT_ORPHAN);
rc = dt_delete(env, mdd->mdd_orphans, key, th);
if (rc) {
CERROR("%s: could not delete orphan "DFID": rc = %d\n",
CERROR("%s: error unlinking orphan "DFID": rc = %d\n",
mdd2obd_dev(mdd)->obd_name, PFID(lf), rc);
} else {
- mdd_write_lock(env, mdo, MOR_TGT_CHILD);
+ mdd_write_lock(env, mdo, DT_TGT_CHILD);
if (likely(mdo->mod_count > 0)) {
CDEBUG(D_HA, "Found orphan "DFID" count %d, skip it\n",
PFID(lf), mdo->mod_count);
if (rc)
GOTO(stop, rc);
- mdd_write_lock(env, obj, MOR_TGT_CHILD);
+ mdd_write_lock(env, obj, DT_TGT_CHILD);
/* whether ACL can be represented by i_mode only */
if (not_equiv)
rc = mdo_xattr_set(env, obj, buf, XATTR_NAME_ACL_ACCESS, fl,
rc = mdd_permission_internal_locked(env, mdd_cobj, cattr,
mask & ~MAY_RGETFACL,
- MOR_TGT_CHILD);
+ DT_TGT_CHILD);
if (unlikely(rc == 0 && (mask & MAY_RGETFACL))) {
if (likely(!uc))
if (rc)
GOTO(trans_stop, rc);
- dt_write_lock(env, dto, LOS_CHILD);
+ dt_write_lock(env, dto, DT_SRC_CHILD);
if (dt_object_exists(dto))
GOTO(unlock, rc = 0);
rec->rec_fid = fid;
rec->rec_type = dto->do_lu.lo_header->loh_attr;
- dt_write_lock(env, parent, LOS_PARENT);
+ dt_write_lock(env, parent, DT_SRC_PARENT);
rc = dt_insert(env, parent, (const struct dt_rec *)rec,
(const struct dt_key *)name, th);
if (dti->dti_dof.dof_type == DFT_DIR)
#define LOS_MAGIC 0xdecafbee
-/**
- * Used in __local_file_create() for object lock role
- **/
-enum los_object_role {
- LOS_PARENT,
- LOS_CHILD,
-};
-
#endif
return 0;
}
+
#endif /* _OFD_INTERNAL_H */
* may cannot get latest last_id although new OST-object created. */
if (!OBD_FAIL_CHECK(OBD_FAIL_LFSCK_SKIP_LASTID)) {
tmp = cpu_to_le64(id + nr - 1);
- dt_write_lock(env, oseq->os_lastid_obj, 0);
+ dt_write_lock(env, oseq->os_lastid_obj, DT_LASTID);
rc = dt_record_write(env, oseq->os_lastid_obj,
&info->fti_buf, &info->fti_off, th);
dt_write_unlock(env, oseq->os_lastid_obj);
info->fti_off = 0;
tmp = cpu_to_le64(ofd_seq_last_oid(oseq));
- dt_write_lock(env, oseq->os_lastid_obj, 0);
+ dt_write_lock(env, oseq->os_lastid_obj, DT_LASTID);
rc1 = dt_record_write(env, oseq->os_lastid_obj,
&info->fti_buf, &info->fti_off, th);
dt_write_unlock(env, oseq->os_lastid_obj);
*
* \param[in] env execution environment
* \param[in] dt object to be locked
- * \param[in] role lock role from MDD layer, see mdd_object_role().
+ * \param[in] role lock role from MDD layer, see dt_object_role().
*/
static void osp_md_read_lock(const struct lu_env *env, struct dt_object *dt,
unsigned role)
*
* \param[in] env execution environment
* \param[in] dt object to be locked
- * \param[in] role lock role from MDD layer, see mdd_object_role().
+ * \param[in] role lock role from MDD layer, see dt_object_role().
*/
static void osp_md_write_lock(const struct lu_env *env, struct dt_object *dt,
unsigned role)
RETURN(-ENOENT);
}
- dt_read_lock(env, obj, MOR_TGT_CHILD);
+ dt_read_lock(env, obj, DT_TGT_CHILD);
rc = dt_attr_get(env, obj, la);
if (rc)
GOTO(out_unlock, rc);
else
lbuf->lb_buf = update_result->our_data;
- dt_read_lock(env, obj, MOR_TGT_CHILD);
+ dt_read_lock(env, obj, DT_TGT_CHILD);
rc = dt_xattr_get(env, obj, lbuf, name);
dt_read_unlock(env, obj);
if (rc <= 0) {
if (lbuf->lb_len == 0)
lbuf->lb_buf = 0;
- dt_read_lock(env, obj, MOR_TGT_CHILD);
+ dt_read_lock(env, obj, DT_TGT_CHILD);
rc = dt_xattr_list(env, obj, lbuf);
dt_read_unlock(env, obj);
if (rc <= 0) {
RETURN(PTR_ERR(name));
}
- dt_read_lock(env, obj, MOR_TGT_CHILD);
+ dt_read_lock(env, obj, DT_TGT_CHILD);
if (!dt_try_as_dir(env, obj))
GOTO(out_unlock, rc = -ENOTDIR);
GOTO(out_free, rc = -ENOMEM);
rdbuf->rb_bufs[i].lb_len = read_size;
- dt_read_lock(env, obj, MOR_TGT_CHILD);
+ dt_read_lock(env, obj, DT_TGT_CHILD);
rc = dt_read(env, obj, &rdbuf->rb_bufs[i], &pos);
dt_read_unlock(env, obj);
CDEBUG(D_INFO, "%s: destroy "DFID"\n", dt_obd_name(th->th_dev),
PFID(lu_object_fid(&dt_obj->do_lu)));
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
rc = dt_destroy(env, dt_obj, th);
dt_write_unlock(env, dt_obj);
arg->u.create.dof.dof_type,
arg->u.create.attr.la_mode & S_IFMT);
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
rc = dt_create(env, dt_obj, &arg->u.create.attr,
&arg->u.create.hint, &arg->u.create.dof, th);
CDEBUG(D_OTHER, "%s: attr set "DFID"\n", dt_obd_name(th->th_dev),
PFID(lu_object_fid(&dt_obj->do_lu)));
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
rc = dt_attr_set(env, dt_obj, &arg->u.attr_set.attr, th);
dt_write_unlock(env, dt_obj);
if (OBD_FAIL_CHECK(OBD_FAIL_OUT_ENOSPC)) {
rc = -ENOSPC;
} else {
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
rc = dt_record_write(env, dt_obj, &arg->u.write.buf,
&arg->u.write.pos, th);
dt_write_unlock(env, dt_obj);
linkea = false;
}
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
again:
rc = dt_xattr_set(env, dt_obj, ldata.ld_buf,
if (!lu_object_exists(&dt_obj->do_lu))
GOTO(out, rc = -ENOENT);
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
rc = dt_xattr_del(env, dt_obj, arg->u.xattr_set.name,
th);
dt_write_unlock(env, dt_obj);
{
int rc;
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
rc = dt_ref_add(env, dt_obj, th);
dt_write_unlock(env, dt_obj);
{
int rc;
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
rc = dt_ref_del(env, dt_obj, th);
dt_write_unlock(env, dt_obj);
if (dt_try_as_dir(env, dt_obj) == 0)
return -ENOTDIR;
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
rc = dt_insert(env, dt_obj, rec, key, th);
dt_write_unlock(env, dt_obj);
if (dt_try_as_dir(env, dt_obj) == 0)
return -ENOTDIR;
- dt_write_lock(env, dt_obj, MOR_TGT_CHILD);
+ dt_write_lock(env, dt_obj, DT_TGT_CHILD);
rc = dt_delete(env, dt_obj, key, th);
dt_write_unlock(env, dt_obj);