Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
b=21962 Quote the error message in results.yaml
[fs/lustre-release.git]
/
lustre
/
mdd
/
mdd_lov.c
diff --git
a/lustre/mdd/mdd_lov.c
b/lustre/mdd/mdd_lov.c
index
f6514f0
..
0ea8b9a
100644
(file)
--- a/
lustre/mdd/mdd_lov.c
+++ b/
lustre/mdd/mdd_lov.c
@@
-239,7
+239,7
@@
static int mdd_lov_set_stripe_md(const struct lu_env *env,
{
struct mdd_device *mdd = mdo2mdd(&obj->mod_obj);
struct obd_device *obd = mdd2obd_dev(mdd);
- struct obd_export *lov_exp = obd->u.mds.mds_
lov
_exp;
+ struct obd_export *lov_exp = obd->u.mds.mds_
osc
_exp;
struct lov_stripe_md *lsm = NULL;
int rc;
ENTRY;
@@
-354,16
+354,6
@@
int mdd_lov_set_md(const struct lu_env *env, struct mdd_object *pobj,
RETURN(rc);
}
-/*
- * XXX: this is for create lsm object id, which should identify the lsm object
- * unique in the whole mds, as I see. But it seems, we still not need it
- * now. Right? So just borrow the cl_fid_build_ino().
- */
-static obd_id mdd_lov_create_id(const struct lu_fid *fid)
-{
- return fid_flatten(fid);
-}
-
int mdd_lov_objid_prepare(struct mdd_device *mdd, struct lov_mds_md *lmm)
{
/* copy mds_lov code is using wrong layer */
@@
-390,7
+380,7
@@
int mdd_lov_create(const struct lu_env *env, struct mdd_device *mdd,
const struct md_op_spec *spec, struct lu_attr *la)
{
struct obd_device *obd = mdd2obd_dev(mdd);
- struct obd_export *lov_exp = obd->u.mds.mds_
lov
_exp;
+ struct obd_export *lov_exp = obd->u.mds.mds_
osc
_exp;
struct lu_site *site = mdd2lu_dev(mdd)->ld_site;
struct obdo *oa;
struct lov_stripe_md *lsm = NULL;
@@
-427,9
+417,9
@@
int mdd_lov_create(const struct lu_env *env, struct mdd_device *mdd,
oa->o_uid = 0; /* must have 0 uid / gid on OST */
oa->o_gid = 0;
- oa->o_
gr = mdt_to_obd_objgrp
(lu_site2md(site)->ms_node_id);
+ oa->o_
seq = mdt_to_obd_objseq
(lu_site2md(site)->ms_node_id);
oa->o_mode = S_IFREG | 0600;
- oa->o_id =
mdd_lov_create_
id(mdd_object_fid(child));
+ oa->o_id =
fid_ver_o
id(mdd_object_fid(child));
oa->o_valid = OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLFLAGS |
OBD_MD_FLMODE | OBD_MD_FLUID | OBD_MD_FLGID | OBD_MD_FLGROUP;
oa->o_size = 0;
@@
-441,8
+431,6
@@
int mdd_lov_create(const struct lu_env *env, struct mdd_device *mdd,
0, &lsm, (void*)eadata);
if (rc)
GOTO(out_oti, rc);
- lsm->lsm_object_id = oa->o_id;
- lsm->lsm_object_gr = oa->o_gr;
} else if (parent != NULL) {
/* get lov ea from parent and set to lov */
struct lov_mds_md *_lmm;
@@
-476,17
+464,18
@@
int mdd_lov_create(const struct lu_env *env, struct mdd_device *mdd,
}
GOTO(out_oti, rc);
}
- LASSERT_
MDS_GROUP(lsm->lsm_object_gr
);
+ LASSERT_
SEQ_IS_MDT(lsm->lsm_object_seq
);
} else {
LASSERT(eadata != NULL);
rc = obd_iocontrol(OBD_IOC_LOV_SETEA, lov_exp, 0, &lsm,
(void*)eadata);
if (rc)
GOTO(out_oti, rc);
- lsm->lsm_object_id = oa->o_id;
- lsm->lsm_object_gr = oa->o_gr;
+
}
+ lsm->lsm_object_id = fid_ver_oid(mdd_object_fid(child));
+ lsm->lsm_object_seq = fid_seq(mdd_object_fid(child));
/*
* Sometimes, we may truncate some object(without lsm) then open it
* (with write flags), so creating lsm above. The Nonzero(truncated)
@@
-507,9
+496,8
@@
int mdd_lov_create(const struct lu_env *env, struct mdd_device *mdd,
* filter_fid, but can not see what is the usages. So just pack
* o_seq o_ver here, maybe fix it after this cycle.
*/
- oa->o_fid = fid_seq(mdd_object_fid(child));
- oa->o_generation = fid_oid(mdd_object_fid(child));
- oa->o_valid |= OBD_MD_FLFID | OBD_MD_FLGENER;
+ obdo_from_inode(oa, NULL,
+ (struct lu_fid *)mdd_object_fid(child), 0);
oinfo->oi_oa = oa;
oinfo->oi_md = lsm;
oinfo->oi_capa = NULL;
@@
-528,7
+516,6
@@
int mdd_lov_create(const struct lu_env *env, struct mdd_device *mdd,
GOTO(out_oti, rc);
}
}
-
/* blksize should be changed after create data object */
la->la_valid |= LA_BLKSIZE;
la->la_blksize = oa->o_blksize;
@@
-568,7
+555,7
@@
int mdd_lovobj_unlink(const struct lu_env *env, struct mdd_device *mdd,
int log_unlink)
{
struct obd_device *obd = mdd2obd_dev(mdd);
- struct obd_export *lov_exp = obd->u.mds.mds_
lov
_exp;
+ struct obd_export *lov_exp = obd->u.mds.mds_
osc
_exp;
struct lov_stripe_md *lsm = NULL;
struct obd_trans_info *oti = &mdd_env_info(env)->mti_oti;
struct obdo *oa = &mdd_env_info(env)->mti_oa;
@@
-589,7
+576,7
@@
int mdd_lovobj_unlink(const struct lu_env *env, struct mdd_device *mdd,
}
oa->o_id = lsm->lsm_object_id;
- oa->o_
gr = mdt_to_obd_objgrp
(lu_site2md(site)->ms_node_id);
+ oa->o_
seq = mdt_to_obd_objseq
(lu_site2md(site)->ms_node_id);
oa->o_mode = la->la_mode & S_IFMT;
oa->o_valid = OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLGROUP;
@@
-599,8
+586,8
@@
int mdd_lovobj_unlink(const struct lu_env *env, struct mdd_device *mdd,
oti->oti_logcookies = logcookies;
}
- CDEBUG(D_INFO, "destroying OSS object
%d/%d\n"
,
-
(int)oa->o_id, (int)oa->o_gr
);
+ CDEBUG(D_INFO, "destroying OSS object
"LPU64":"LPU64"\n", oa->o_seq
,
+
oa->o_id
);
rc = obd_destroy(lov_exp, oa, lsm, oti, NULL, NULL);
@@
-691,10
+678,10
@@
int mdd_log_op_setattr(struct obd_device *obd, __u32 uid, __u32 gid,
int rc;
ENTRY;
- if (IS_ERR(mds->mds_
lov
_obd))
- RETURN(PTR_ERR(mds->mds_
lov
_obd));
+ if (IS_ERR(mds->mds_
osc
_obd))
+ RETURN(PTR_ERR(mds->mds_
osc
_obd));
- rc = obd_unpackmd(mds->mds_
lov
_exp, &lsm, lmm, lmm_size);
+ rc = obd_unpackmd(mds->mds_
osc
_exp, &lsm, lmm, lmm_size);
if (rc < 0)
RETURN(rc);
@@
-717,7
+704,7
@@
int mdd_log_op_setattr(struct obd_device *obd, __u32 uid, __u32 gid,
OBD_FREE(lsr, sizeof(*lsr));
out:
- obd_free_memmd(mds->mds_
lov
_exp, &lsm);
+ obd_free_memmd(mds->mds_
osc
_exp, &lsm);
RETURN(rc);
}
@@
-743,7
+730,7
@@
int mdd_setattr_log(const struct lu_env *env, struct mdd_device *mdd,
static int mdd_osc_setattr_async(struct obd_device *obd, __u32 uid, __u32 gid,
struct lov_mds_md *lmm, int lmm_size,
- struct llog_cookie *logcookies,
__u64 id, __u32 gen
,
+ struct llog_cookie *logcookies,
const struct lu_fid *parent
,
struct obd_capa *oc)
{
struct mds_obd *mds = &obd->u.mds;
@@
-762,9
+749,10
@@
static int mdd_osc_setattr_async(struct obd_device *obd, __u32 uid, __u32 gid,
LASSERT(lmm);
- rc = obd_unpackmd(mds->mds_
lov
_exp, &oinfo.oi_md, lmm, lmm_size);
+ rc = obd_unpackmd(mds->mds_
osc
_exp, &oinfo.oi_md, lmm, lmm_size);
if (rc < 0) {
- CERROR("Error unpack md %p for inode "LPU64"\n", lmm, id);
+ CERROR("Error unpack md %p for obj "DFID"\n", lmm,
+ PFID(parent));
GOTO(out, rc);
}
@@
-772,7
+760,7
@@
static int mdd_osc_setattr_async(struct obd_device *obd, __u32 uid, __u32 gid,
oinfo.oi_oa->o_uid = uid;
oinfo.oi_oa->o_gid = gid;
oinfo.oi_oa->o_id = oinfo.oi_md->lsm_object_id;
- oinfo.oi_oa->o_
gr = oinfo.oi_md->lsm_object_gr
;
+ oinfo.oi_oa->o_
seq = oinfo.oi_md->lsm_object_seq
;
oinfo.oi_oa->o_valid |= OBD_MD_FLID | OBD_MD_FLGROUP |
OBD_MD_FLUID | OBD_MD_FLGID;
if (logcookies) {
@@
-780,19
+768,17
@@
static int mdd_osc_setattr_async(struct obd_device *obd, __u32 uid, __u32 gid,
oti.oti_logcookies = logcookies;
}
- oinfo.oi_oa->o_fid = id;
- oinfo.oi_oa->o_generation = gen;
- oinfo.oi_oa->o_valid |= OBD_MD_FLFID | OBD_MD_FLGENER;
+ obdo_from_inode(oinfo.oi_oa, NULL, (struct lu_fid *)parent, 0);
oinfo.oi_capa = oc;
/* do async setattr from mds to ost not waiting for responses. */
- rc = obd_setattr_async(mds->mds_
lov
_exp, &oinfo, &oti, NULL);
+ rc = obd_setattr_async(mds->mds_
osc
_exp, &oinfo, &oti, NULL);
if (rc)
CDEBUG(D_INODE, "mds to ost setattr objid 0x"LPX64
" on ost error %d\n", oinfo.oi_md->lsm_object_id, rc);
out:
if (oinfo.oi_md)
- obd_free_memmd(mds->mds_
lov
_exp, &oinfo.oi_md);
+ obd_free_memmd(mds->mds_
osc
_exp, &oinfo.oi_md);
OBDO_FREE(oinfo.oi_oa);
RETURN(rc);
}
@@
-815,7
+801,6
@@
int mdd_lov_setattr_async(const struct lu_env *env, struct mdd_object *obj,
RETURN(rc);
rc = mdd_osc_setattr_async(obd, tmp_la->la_uid, tmp_la->la_gid, lmm,
- lmm_size, logcookies, fid_seq(fid),
- fid_oid(fid), NULL);
+ lmm_size, logcookies, fid, NULL);
RETURN(rc);
}