if (likely(S_ISDIR(mdd_object_type(mdd_obj)) &&
dt_try_as_dir(env, dir)))
if (likely(S_ISDIR(mdd_object_type(mdd_obj)) &&
dt_try_as_dir(env, dir)))
- rc = dt_lookup(env, dir, (struct dt_rec *)fid, key,
- mdd_object_capa(env, mdd_obj));
+ rc = dt_lookup(env, dir, (struct dt_rec *)fid, key);
- rc = mdd_la_get(env, md2mdd_obj(pobj), pattr, BYPASS_CAPA);
+ rc = mdd_la_get(env, md2mdd_obj(pobj), pattr);
- /* this is done recursively, bypass capa for each obj */
- mdd_set_capainfo(env, 4, p1, BYPASS_CAPA);
+ /* this is done recursively */
rc = mdd_parent_fid(env, p1, attr, pfid);
if (rc)
GOTO(out, rc);
rc = mdd_parent_fid(env, p1, attr, pfid);
if (rc)
GOTO(out, rc);
- rc = mdd_la_get(env, md2mdd_obj(mo), attr, BYPASS_CAPA);
+ rc = mdd_la_get(env, md2mdd_obj(mo), attr);
- it = iops->init(env, obj, LUDA_64BITHASH, BYPASS_CAPA);
+ it = iops->init(env, obj, LUDA_64BITHASH);
/* If the parent is a sub-stripe, check whether it is dead */
xbuf = mdd_buf_get(env, info->mti_key, sizeof(info->mti_key));
/* If the parent is a sub-stripe, check whether it is dead */
xbuf = mdd_buf_get(env, info->mti_key, sizeof(info->mti_key));
- rc = mdo_xattr_get(env, pobj, xbuf, XATTR_NAME_LMV,
- mdd_object_capa(env, pobj));
+ rc = mdo_xattr_get(env, pobj, xbuf, XATTR_NAME_LMV);
- const char *name, struct thandle *handle,
- struct lustre_capa *capa)
+ const char *name, struct thandle *handle)
{
struct dt_object *next = mdd_object_child(pobj);
int rc;
ENTRY;
if (dt_try_as_dir(env, next))
{
struct dt_object *next = mdd_object_child(pobj);
int rc;
ENTRY;
if (dt_try_as_dir(env, next))
- rc = dt_delete(env, next, (struct dt_key *)name, handle, capa);
+ rc = dt_delete(env, next, (struct dt_key *)name, handle);
rec->rec_type = type;
ignore_quota = uc ? uc->uc_cap & CFS_CAP_SYS_RESOURCE_MASK : 1;
rc = dt_insert(env, next, (const struct dt_rec *)rec,
rec->rec_type = type;
ignore_quota = uc ? uc->uc_cap & CFS_CAP_SYS_RESOURCE_MASK : 1;
rc = dt_insert(env, next, (const struct dt_rec *)rec,
/* insert named index, add reference if isdir */
static int __mdd_index_insert(const struct lu_env *env, struct mdd_object *pobj,
const struct lu_fid *lf, __u32 type,
/* insert named index, add reference if isdir */
static int __mdd_index_insert(const struct lu_env *env, struct mdd_object *pobj,
const struct lu_fid *lf, __u32 type,
- const char *name, struct thandle *handle,
- struct lustre_capa *capa)
+ const char *name, struct thandle *handle)
- rc = __mdd_index_insert_only(env, pobj, lf, type, name, handle, capa);
+ 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);
mdo_ref_add(env, pobj, handle);
if (rc == 0 && S_ISDIR(type)) {
mdd_write_lock(env, pobj, MOR_TGT_PARENT);
mdo_ref_add(env, pobj, handle);
/* delete named index, drop reference if isdir */
static int __mdd_index_delete(const struct lu_env *env, struct mdd_object *pobj,
/* delete named index, drop reference if isdir */
static int __mdd_index_delete(const struct lu_env *env, struct mdd_object *pobj,
- const char *name, int is_dir, struct thandle *handle,
- struct lustre_capa *capa)
+ const char *name, int is_dir,
+ struct thandle *handle)
- rc = __mdd_index_delete_only(env, pobj, name, handle, capa);
+ 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);
if (rc == 0 && is_dir) {
mdd_write_lock(env, pobj, MOR_TGT_PARENT);
mdo_ref_del(env, pobj, handle);
- rc = llog_declare_add(env, ctxt->loc_handle, &rec->cr_hdr, handle);
+ llog_th = thandle_get_sub(env, handle, ctxt->loc_handle->lgh_obj);
+ if (IS_ERR(llog_th))
+ GOTO(out_put, rc = PTR_ERR(llog_th));
+
+ rc = llog_declare_add(env, ctxt->loc_handle, &rec->cr_hdr, llog_th);
+
+out_put:
- rc = llog_add(env, ctxt->loc_handle, &rec->cr_hdr, NULL, th);
+ rc = llog_add(env, ctxt->loc_handle, &rec->cr_hdr, NULL, llog_th);
+
+out_put:
- rc = mdo_xattr_get(env, mdd_obj, ldata->ld_buf, XATTR_NAME_LINK,
- BYPASS_CAPA);
+ rc = mdo_xattr_get(env, mdd_obj, ldata->ld_buf, XATTR_NAME_LINK);
if (rc == -ERANGE) {
/* Buf was too small, figure out what we need. */
lu_buf_free(ldata->ld_buf);
rc = mdo_xattr_get(env, mdd_obj, ldata->ld_buf,
if (rc == -ERANGE) {
/* Buf was too small, figure out what we need. */
lu_buf_free(ldata->ld_buf);
rc = mdo_xattr_get(env, mdd_obj, ldata->ld_buf,
if (rc < 0)
return rc;
ldata->ld_buf = lu_buf_check_and_alloc(ldata->ld_buf, rc);
if (ldata->ld_buf->lb_buf == NULL)
return -ENOMEM;
rc = mdo_xattr_get(env, mdd_obj, ldata->ld_buf,
if (rc < 0)
return rc;
ldata->ld_buf = lu_buf_check_and_alloc(ldata->ld_buf, rc);
if (ldata->ld_buf->lb_buf == NULL)
return -ENOMEM;
rc = mdo_xattr_get(env, mdd_obj, ldata->ld_buf,
- rc = mdo_xattr_set(env, mdd_obj, buf, XATTR_NAME_LINK, 0, handle,
- mdd_object_capa(env, mdd_obj));
+ rc = mdo_xattr_set(env, mdd_obj, buf, XATTR_NAME_LINK, 0, handle);
if (unlikely(rc == -ENOSPC) && S_ISREG(mdd_object_type(mdd_obj)) &&
mdd_object_remote(mdd_obj) == 0) {
struct lfsck_request *lr = &mdd_env_info(env)->mti_lr;
if (unlikely(rc == -ENOSPC) && S_ISREG(mdd_object_type(mdd_obj)) &&
mdd_object_remote(mdd_obj) == 0) {
struct lfsck_request *lr = &mdd_env_info(env)->mti_lr;
/* XXX: If the linkEA is overflow, then we need to notify the
* namespace LFSCK to skip "nlink" attribute verification
/* XXX: If the linkEA is overflow, then we need to notify the
* namespace LFSCK to skip "nlink" attribute verification
* mechanism in future. LU-5802. */
lfsck_pack_rfa(lr, mdo2fid(mdd_obj), LE_SKIP_NLINK,
LFSCK_TYPE_NAMESPACE);
* mechanism in future. LU-5802. */
lfsck_pack_rfa(lr, mdo2fid(mdd_obj), LE_SKIP_NLINK,
LFSCK_TYPE_NAMESPACE);
if (mdd_object_remote(mdd_obj) == 0 && overflow == MLAO_CHECK) {
struct lfsck_request *lr = &mdd_env_info(env)->mti_lr;
if (mdd_object_remote(mdd_obj) == 0 && overflow == MLAO_CHECK) {
struct lfsck_request *lr = &mdd_env_info(env)->mti_lr;
/* XXX: If the linkEA is overflow, then we need to notify the
* namespace LFSCK to skip "nlink" attribute verification
/* XXX: If the linkEA is overflow, then we need to notify the
* namespace LFSCK to skip "nlink" attribute verification
* mechanism in future. LU-5802. */
lfsck_pack_rfa(lr, mdo2fid(mdd_obj), LE_SKIP_NLINK_DECLARE,
LFSCK_TYPE_NAMESPACE);
* mechanism in future. LU-5802. */
lfsck_pack_rfa(lr, mdo2fid(mdd_obj), LE_SKIP_NLINK_DECLARE,
LFSCK_TYPE_NAMESPACE);
rc = lfsck_in_notify(env,
mdo2mdd(&mdd_obj->mod_obj)->mdd_bottom,
rc = lfsck_in_notify(env,
mdo2mdd(&mdd_obj->mod_obj)->mdd_bottom,
tfid.f_oid++;
rc = __mdd_index_insert_only(env, mdd_tobj, &tfid,
mdd_object_type(mdd_sobj),
tfid.f_oid++;
rc = __mdd_index_insert_only(env, mdd_tobj, &tfid,
mdd_object_type(mdd_sobj),
} else {
rc = __mdd_index_insert_only(env, mdd_tobj, mdo2fid(mdd_sobj),
mdd_object_type(mdd_sobj),
} else {
rc = __mdd_index_insert_only(env, mdd_tobj, mdo2fid(mdd_sobj),
mdd_object_type(mdd_sobj),
if (declare)
rc = mdo_declare_attr_set(env, obj, attr, handle);
else
if (declare)
rc = mdo_declare_attr_set(env, obj, attr, handle);
else
- rc = mdo_attr_set(env, obj, attr, handle,
- mdd_object_capa(env, obj));
+ rc = mdo_attr_set(env, obj, attr, handle);
hsm_buf = mdd_buf_get(env, NULL, 0);
lu_buf_alloc(hsm_buf, buflen);
hsm_buf = mdd_buf_get(env, NULL, 0);
lu_buf_alloc(hsm_buf, buflen);
- rc = mdo_xattr_get(env, obj, hsm_buf, XATTR_NAME_HSM,
- mdd_object_capa(env, obj));
+ rc = mdo_xattr_get(env, obj, hsm_buf, XATTR_NAME_HSM);
mdd_write_lock(env, mdd_cobj, MOR_TGT_CHILD);
if (likely(no_name == 0) && !OBD_FAIL_CHECK(OBD_FAIL_LFSCK_DANGLING2)) {
mdd_write_lock(env, mdd_cobj, MOR_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,
- mdd_object_capa(env, mdd_pobj));
+ rc = __mdd_index_delete(env, mdd_pobj, name, is_dir, handle);
__mdd_index_insert_only(env, mdd_pobj,
mdo2fid(mdd_cobj),
mdd_object_type(mdd_cobj),
__mdd_index_insert_only(env, mdd_pobj,
mdo2fid(mdd_cobj),
mdd_object_type(mdd_cobj),
mdo_ref_del(env, mdd_cobj, handle);
/* fetch updated nlink */
mdo_ref_del(env, mdd_cobj, handle);
/* fetch updated nlink */
/* if object is removed then we can't get its attrs, use last get */
if (cattr->la_nlink == 0) {
/* if object is removed then we can't get its attrs, use last get */
if (cattr->la_nlink == 0) {
GOTO(stop, rc);
rc = dt_xattr_set(env, mdd_object_child(son), buf, XATTR_NAME_LOV,
GOTO(stop, rc);
rc = dt_xattr_set(env, mdd_object_child(son), buf, XATTR_NAME_LOV,
/* Add "." and ".." for newly created dir */
mdo_ref_add(env, child, handle);
rc = __mdd_index_insert_only(env, child, mdo2fid(child),
/* Add "." and ".." for newly created dir */
mdo_ref_add(env, child, handle);
rc = __mdd_index_insert_only(env, child, mdo2fid(child),
if (rc == 0)
rc = __mdd_index_insert_only(env, child, pfid, S_IFDIR,
if (rc == 0)
rc = __mdd_index_insert_only(env, child, pfid, S_IFDIR,
-
- /* XXX: For remote create, it should indicate the remote RPC
- * will be sent after local transaction is finished, which
- * is not very nice, but it will be removed once we fully support
- * async update */
- if (mdd_object_remote(p) && handle->th_update != NULL)
- handle->th_update->tu_sent_after_local_trans = 1;
mdd_read_lock(env, pobj, MOR_TGT_PARENT);
rc = mdo_xattr_get(env, pobj, def_acl_buf,
mdd_read_lock(env, pobj, MOR_TGT_PARENT);
rc = mdo_xattr_get(env, pobj, def_acl_buf,
mdd_read_unlock(env, pobj);
if (rc > 0) {
/* If there are default ACL, fix mode/ACL by default ACL */
mdd_read_unlock(env, pobj);
if (rc > 0) {
/* If there are default ACL, fix mode/ACL by default ACL */
rc = mdo_xattr_set(env, son, buf,
S_ISDIR(attr->la_mode) ? XATTR_NAME_LMV :
XATTR_NAME_LOV, 0,
rc = mdo_xattr_set(env, son, buf,
S_ISDIR(attr->la_mode) ? XATTR_NAME_LMV :
XATTR_NAME_LOV, 0,
/* set default acl */
rc = mdo_xattr_set(env, son, def_acl_buf,
XATTR_NAME_ACL_DEFAULT, 0,
/* set default acl */
rc = mdo_xattr_set(env, son, def_acl_buf,
XATTR_NAME_ACL_DEFAULT, 0,
if (acl_buf != NULL && acl_buf->lb_len > 0) {
rc = mdo_xattr_set(env, son, acl_buf,
XATTR_NAME_ACL_ACCESS,
if (acl_buf != NULL && acl_buf->lb_len > 0) {
rc = mdo_xattr_set(env, son, acl_buf,
XATTR_NAME_ACL_ACCESS,
buf = mdd_buf_get_const(env, target_name, sym_len);
rc = dt->do_body_ops->dbo_write(env, dt, buf, &pos, handle,
buf = mdd_buf_get_const(env, target_name, sym_len);
rc = dt->do_body_ops->dbo_write(env, dt, buf, &pos, handle,
GOTO(out_volatile, rc);
} else {
rc = __mdd_index_insert(env, mdd_pobj, mdo2fid(son),
GOTO(out_volatile, rc);
} else {
rc = __mdd_index_insert(env, mdd_pobj, mdo2fid(son),
- attr->la_mode, name, handle,
- mdd_object_capa(env, mdd_pobj));
+ attr->la_mode, name, handle);
else
rc2 = __mdd_index_delete(env, mdd_pobj, name,
S_ISDIR(attr->la_mode),
else
rc2 = __mdd_index_delete(env, mdd_pobj, name,
S_ISDIR(attr->la_mode),
- rc = __mdd_index_delete(env, mdd_spobj, sname, is_dir, handle,
- mdd_object_capa(env, mdd_spobj));
+ rc = __mdd_index_delete(env, mdd_spobj, sname, is_dir, handle);
if (rc)
GOTO(cleanup, rc);
/* "mv dir1 dir2" needs "dir1/.." link update */
if (is_dir && mdd_sobj && !lu_fid_eq(spobj_fid, tpobj_fid)) {
if (rc)
GOTO(cleanup, rc);
/* "mv dir1 dir2" needs "dir1/.." link update */
if (is_dir && mdd_sobj && !lu_fid_eq(spobj_fid, tpobj_fid)) {
- rc = __mdd_index_delete_only(env, mdd_sobj, dotdot, handle,
- mdd_object_capa(env, mdd_sobj));
+ rc = __mdd_index_delete_only(env, mdd_sobj, dotdot, handle);
if (rc != 0)
GOTO(fixup_spobj2, rc);
rc = __mdd_index_insert_only(env, mdd_sobj, tpobj_fid, S_IFDIR,
if (rc != 0)
GOTO(fixup_spobj2, rc);
rc = __mdd_index_insert_only(env, mdd_sobj, tpobj_fid, S_IFDIR,
* Here tobj can be remote one, so we do index_delete unconditionally
* and -ENOENT is allowed.
*/
* Here tobj can be remote one, so we do index_delete unconditionally
* and -ENOENT is allowed.
*/
- rc = __mdd_index_delete(env, mdd_tpobj, tname, is_dir, handle,
- mdd_object_capa(env, mdd_tpobj));
+ rc = __mdd_index_delete(env, mdd_tpobj, tname, is_dir, handle);
/* Insert new fid with target name into target dir */
rc = __mdd_index_insert(env, mdd_tpobj, lf, cattr->la_mode,
/* Insert new fid with target name into target dir */
rc = __mdd_index_insert(env, mdd_tpobj, lf, cattr->la_mode,
- rc2 = __mdd_index_delete(env, mdd_tpobj, tname, is_dir, handle,
- BYPASS_CAPA);
+ rc2 = __mdd_index_delete(env, mdd_tpobj, tname, is_dir, handle);
rc2 = __mdd_index_insert(env, mdd_tpobj,
mdo2fid(mdd_tobj),
mdd_object_type(mdd_tobj),
rc2 = __mdd_index_insert(env, mdd_tpobj,
mdo2fid(mdd_tobj),
mdd_object_type(mdd_tobj),
- rc2 = __mdd_index_delete_only(env, mdd_sobj, dotdot, handle,
- BYPASS_CAPA);
-
+ rc2 = __mdd_index_delete_only(env, mdd_sobj, dotdot, handle);
if (rc2)
CWARN("%s: sp obj dotdot delete error: rc = %d\n",
mdd2obd_dev(mdd)->obd_name, rc2);
rc2 = __mdd_index_insert_only(env, mdd_sobj, spobj_fid, S_IFDIR,
if (rc2)
CWARN("%s: sp obj dotdot delete error: rc = %d\n",
mdd2obd_dev(mdd)->obd_name, rc2);
rc2 = __mdd_index_insert_only(env, mdd_sobj, spobj_fid, S_IFDIR,
if (rc2 != 0)
CWARN("%s: sp obj dotdot insert error: rc = %d\n",
mdd2obd_dev(mdd)->obd_name, rc2);
if (rc2 != 0)
CWARN("%s: sp obj dotdot insert error: rc = %d\n",
mdd2obd_dev(mdd)->obd_name, rc2);
if (rc != 0) {
rc2 = __mdd_index_insert(env, mdd_spobj, lf,
mdd_object_type(mdd_sobj), sname,
if (rc != 0) {
rc2 = __mdd_index_insert(env, mdd_spobj, lf,
mdd_object_type(mdd_sobj), sname,
- if (declare)
- rc = mdd_declare_links_add(env, mdd_tobj, handle, ldata,
- MLAO_IGNORE);
- else
- rc = mdd_links_write(env, mdd_tobj, ldata, handle);
-
- if (rc != 0)
- RETURN(rc);
-
/* If it is mulitple links file, we need update the name entry for
* all parent */
LASSERT(ldata->ld_leh != NULL);
/* If it is mulitple links file, we need update the name entry for
* all parent */
LASSERT(ldata->ld_leh != NULL);
GOTO(next_put, rc);
} else {
rc = __mdd_index_delete(env, pobj, lname.ln_name,
GOTO(next_put, rc);
} else {
rc = __mdd_index_delete(env, pobj, lname.ln_name,
if (rc)
GOTO(next_put, rc);
rc = __mdd_index_insert(env, pobj,
mdd_object_fid(mdd_tobj),
mdd_object_type(mdd_tobj),
if (rc)
GOTO(next_put, rc);
rc = __mdd_index_insert(env, pobj,
mdd_object_fid(mdd_tobj),
mdd_object_type(mdd_tobj),
- list_xsize = mdo_xattr_list(env, mdd_sobj, &LU_BUF_NULL,
- mdd_object_capa(env, mdd_sobj));
+ list_xsize = mdo_xattr_list(env, mdd_sobj, &LU_BUF_NULL);
- rc = mdo_xattr_list(env, mdd_sobj, &list_xbuf,
- mdd_object_capa(env, mdd_sobj));
+ rc = mdo_xattr_list(env, mdd_sobj, &list_xbuf);
- xsize = mdo_xattr_get(env, mdd_sobj, &LU_BUF_NULL,
- xname,
- mdd_object_capa(env, mdd_sobj));
+ xsize = mdo_xattr_get(env, mdd_sobj, &LU_BUF_NULL, xname);
- rc = mdo_xattr_get(env, mdd_sobj, &xbuf, xname,
- mdd_object_capa(env, mdd_sobj));
+ rc = mdo_xattr_get(env, mdd_sobj, &xbuf, xname);
- rc = mdo_xattr_set(env, mdd_tobj, &xbuf, xname, 0, handle,
- mdd_object_capa(env, mdd_sobj));
+ rc = mdo_xattr_set(env, mdd_tobj, &xbuf, xname, 0, handle);
struct mdd_object *mdd_pobj,
struct mdd_object *mdd_sobj,
struct mdd_object *mdd_tobj,
struct mdd_object *mdd_pobj,
struct mdd_object *mdd_sobj,
struct mdd_object *mdd_tobj,
struct lu_attr *la_flag = MDD_ENV_VAR(env, la_for_fix);
struct dt_allocation_hint *hint = &mdd_env_info(env)->mti_hint;
int mgr_easize;
struct lu_attr *la_flag = MDD_ENV_VAR(env, la_for_fix);
struct dt_allocation_hint *hint = &mdd_env_info(env)->mti_hint;
int mgr_easize;
rc = mdd_readlink(env, &mdd_sobj->mod_obj, &link_buf);
if (rc <= 0) {
rc = rc != 0 ? rc : -EFAULT;
rc = mdd_readlink(env, &mdd_sobj->mod_obj, &link_buf);
if (rc <= 0) {
rc = rc != 0 ? rc : -EFAULT;
rc = mdd_declare_migrate_create(env, mdd_pobj, mdd_sobj, mdd_tobj,
spec, la,
(union lmv_mds_md *)info->mti_xattr_buf,
rc = mdd_declare_migrate_create(env, mdd_pobj, mdd_sobj, mdd_tobj,
spec, la,
(union lmv_mds_md *)info->mti_xattr_buf,
/* Set MIGRATE EA on the source inode, so once the migration needs
* to be re-done during failover, the re-do process can locate the
* target object which is already being created. */
mgr_easize = lmv_mds_md_size(2, LMV_MAGIC_V1);
buf = mdd_buf_get_const(env, mgr_ea, mgr_easize);
/* Set MIGRATE EA on the source inode, so once the migration needs
* to be re-done during failover, the re-do process can locate the
* target object which is already being created. */
mgr_easize = lmv_mds_md_size(2, LMV_MAGIC_V1);
buf = mdd_buf_get_const(env, mgr_ea, mgr_easize);
- rc = mdo_xattr_set(env, mdd_sobj, buf, XATTR_NAME_LMV, 0,
- handle, mdd_object_capa(env, mdd_sobj));
+ rc = mdo_xattr_set(env, mdd_sobj, buf, XATTR_NAME_LMV, 0, handle);
* flag and approve the migration */
la_flag->la_valid = LA_FLAGS;
la_flag->la_flags = la->la_flags | LUSTRE_IMMUTABLE_FL;
* flag and approve the migration */
la_flag->la_valid = LA_FLAGS;
la_flag->la_flags = la->la_flags | LUSTRE_IMMUTABLE_FL;
- rc = mdo_attr_set(env, mdd_sobj, la_flag, handle,
- mdd_object_capa(env, mdd_sobj));
+ rc = mdo_attr_set(env, mdd_sobj, la_flag, handle);
stop_trans:
if (handle != NULL)
mdd_trans_stop(env, mdd, rc, handle);
stop_trans:
if (handle != NULL)
mdd_trans_stop(env, mdd, rc, handle);
- it = iops->init(env, next, LUDA_FID | LUDA_TYPE,
- mdd_object_capa(env, mdd_sobj));
+ it = iops->init(env, next, LUDA_FID | LUDA_TYPE);
struct lu_fid *fid = &mdd_env_info(env)->mti_fid2;
rc = dt_lookup(env, dt_tobj, (struct dt_rec *)fid,
struct lu_fid *fid = &mdd_env_info(env)->mti_fid2;
rc = dt_lookup(env, dt_tobj, (struct dt_rec *)fid,
if (likely(!target_exist)) {
rc = __mdd_index_insert(env, mdd_tobj, &ent->lde_fid,
mdd_object_type(child),
if (likely(!target_exist)) {
rc = __mdd_index_insert(env, mdd_tobj, &ent->lde_fid,
mdd_object_type(child),
- rc = __mdd_index_delete(env, mdd_sobj, name, is_dir, handle,
- mdd_object_capa(env, mdd_sobj));
+ rc = __mdd_index_delete(env, mdd_sobj, name, is_dir, handle);
- rc = __mdd_index_delete_only(env, child, dotdot, handle,
- mdd_object_capa(env, child));
+ rc = __mdd_index_delete_only(env, child, dotdot,
+ handle);
if (rc != 0)
GOTO(out_put, rc);
rc = __mdd_index_insert_only(env, child,
mdd_object_fid(mdd_tobj), S_IFDIR,
if (rc != 0)
GOTO(out_put, rc);
rc = __mdd_index_insert_only(env, child,
mdd_object_fid(mdd_tobj), S_IFDIR,
if (S_ISDIR(mdd_object_type(mdd_sobj))) {
rc = mdo_declare_ref_add(env, mdd_pobj, handle);
if (rc != 0)
if (S_ISDIR(mdd_object_type(mdd_sobj))) {
rc = mdo_declare_ref_add(env, mdd_pobj, handle);
if (rc != 0)
- rc = mdd_la_get(env, mdd_sobj, so_attr, mdd_object_capa(env, mdd_sobj));
+ rc = mdd_la_get(env, mdd_sobj, so_attr);
/* Revert IMMUTABLE flag */
la_flag->la_valid = LA_FLAGS;
la_flag->la_flags = so_attr->la_flags & ~LUSTRE_IMMUTABLE_FL;
/* Revert IMMUTABLE flag */
la_flag->la_valid = LA_FLAGS;
la_flag->la_flags = so_attr->la_flags & ~LUSTRE_IMMUTABLE_FL;
- rc = mdo_attr_set(env, mdd_sobj, la_flag, handle,
- mdd_object_capa(env, mdd_pobj));
+ rc = mdo_attr_set(env, mdd_sobj, la_flag, handle);
- rc = __mdd_index_delete(env, mdd_pobj, name, is_dir, handle,
- mdd_object_capa(env, mdd_pobj));
+ rc = __mdd_index_delete(env, mdd_pobj, name, is_dir, handle);
if (S_ISREG(so_attr->la_mode)) {
if (so_attr->la_nlink == 1) {
rc = mdo_xattr_del(env, mdd_sobj, XATTR_NAME_LOV,
if (S_ISREG(so_attr->la_mode)) {
if (so_attr->la_nlink == 1) {
rc = mdo_xattr_del(env, mdd_sobj, XATTR_NAME_LOV,
/* Insert new fid with target name into target dir */
rc = __mdd_index_insert(env, mdd_pobj, mdd_object_fid(mdd_tobj),
/* Insert new fid with target name into target dir */
rc = __mdd_index_insert(env, mdd_pobj, mdd_object_fid(mdd_tobj),
- mdd_object_type(mdd_tobj), name,
- handle, mdd_object_capa(env, mdd_pobj));
+ mdd_object_type(mdd_tobj), name, handle);
mdo_ref_del(env, mdd_sobj, handle);
/* Get the attr again after ref_del */
mdo_ref_del(env, mdd_sobj, handle);
/* Get the attr again after ref_del */
- rc = mdd_la_get(env, mdd_sobj, so_attr,
- mdd_object_capa(env, mdd_sobj));
+ rc = mdd_la_get(env, mdd_sobj, so_attr);
- rc = mdo_xattr_get(env, sobj, mgr_buf, XATTR_NAME_LMV,
- mdd_object_capa(env, sobj));
+ rc = mdo_xattr_get(env, sobj, mgr_buf, XATTR_NAME_LMV);
- rc = mdd_la_get(env, mdd_sobj, so_attr, mdd_object_capa(env, mdd_sobj));
+ rc = mdd_la_get(env, mdd_sobj, so_attr);
mdd_tobj = md2mdd_obj(tobj);
if (!mdd_object_exists(mdd_tobj)) {
rc = mdd_migrate_create(env, mdd_pobj, mdd_sobj, mdd_tobj,
mdd_tobj = md2mdd_obj(tobj);
if (!mdd_object_exists(mdd_tobj)) {
rc = mdd_migrate_create(env, mdd_pobj, mdd_sobj, mdd_tobj,
if (unlikely(OBD_FAIL_CHECK_RESET(OBD_FAIL_MIGRATE_NET_REP,
OBD_FAIL_MDS_REINT_NET_REP)))
GOTO(put, rc = 0);
if (unlikely(OBD_FAIL_CHECK_RESET(OBD_FAIL_MIGRATE_NET_REP,
OBD_FAIL_MDS_REINT_NET_REP)))
GOTO(put, rc = 0);