* GPL HEADER END
*/
/*
- * Copyright (c) 2012, Intel Corporation.
+ * Copyright (c) 2013, Intel Corporation.
*/
#define DEBUG_SUBSYSTEM S_MDS
struct mdd_device *mdd,
struct mdd_object *o)
{
- struct thandle *th = NULL;
+ struct thandle *th;
const struct dt_key *dot = (const struct dt_key *)".";
const struct dt_key *dotdot = (const struct dt_key *)"..";
int rc;
th = dt_trans_create(env, mdd->mdd_child);
if (IS_ERR(th))
RETURN(PTR_ERR(th));
+
rc = dt_declare_delete(env, mdd_object_child(o), dot, th);
if (rc)
GOTO(out, rc);
GOTO(out, rc);
out:
- if (th)
- dt_trans_stop(env, mdd->mdd_child, th);
+ dt_trans_stop(env, mdd->mdd_child, th);
RETURN(rc);
}
struct mdd_object *o,
const struct lu_name *name)
{
- struct thandle *th = NULL;
+ struct thandle *th;
struct lu_fid oldfid;
int rc;
ENTRY;
th = dt_trans_create(env, mdd->mdd_child);
- rc = mdd_declare_links_add(env, o, th, NULL);
+ if (IS_ERR(th))
+ RETURN(PTR_ERR(th));
+
+ rc = mdd_declare_links_add(env, o, th, NULL, MLAO_IGNORE);
if (rc)
GOTO(out, rc);
rc = dt_trans_start_local(env, mdd->mdd_child, th);
rc = 0;
out:
- if (th)
- dt_trans_stop(env, mdd->mdd_child, th);
+ dt_trans_stop(env, mdd->mdd_child, th);
RETURN(rc);
}
const struct lu_name *name)
{
struct mdd_object *o;
- struct lu_attr *la = &mdd_env_info(env)->mti_la;
+ struct lu_attr *la = MDD_ENV_VAR(env, cattr);
int rc;
ENTRY;
struct mdd_object *o)
{
struct lustre_mdt_attrs *lma;
- struct thandle *th = NULL;
+ struct thandle *th;
struct lu_fid fid;
struct lu_buf buf;
int rc;
lu_root_fid(&fid);
lma = (struct lustre_mdt_attrs *)&mdd_env_info(env)->mti_xattr_buf;
- lustre_lma_init(lma, &fid, 0);
+ lustre_lma_init(lma, &fid, 0, 0);
lustre_lma_swab(lma);
buf.lb_buf = lma;
buf.lb_len = sizeof(*lma);
GOTO(out, rc);
rc = mdo_xattr_set(env, o, &buf, XATTR_NAME_LMA, 0, th, BYPASS_CAPA);
out:
- if (th)
- dt_trans_stop(env, mdd->mdd_child, th);
+ dt_trans_stop(env, mdd->mdd_child, th);
RETURN(rc);
}
GOTO(out_put, rc);
do {
+ size_t lu_dirent_size;
+
rc = iops->key_size(env, it);
if (rc == 0)
goto next;
/* calculate max space required for lu_dirent */
- rc = lu_dirent_calc_size(rc, 0);
- LASSERT(rc <= sizeof(info->mti_xattr_buf));
+ lu_dirent_size = lu_dirent_calc_size(rc, 0);
+ LASSERT(lu_dirent_size <= sizeof(info->mti_xattr_buf));
rc = iops->rec(env, it, (struct dt_rec *)ent, LUDA_TYPE);
if (rc == 0) {
/* Pre-existing ZFS does not insert any entries to FLDB, we need
* to insert it to FLDB during convertion */
range.lsr_start = FID_SEQ_NORMAL;
- range.lsr_flags = LU_SEQ_RANGE_MDT;
+ fld_range_set_mdt(&range);
mutex_lock(&ss->ss_server_fld->lsf_lock);
rc = fld_insert_entry(env, ss->ss_server_fld, &range);