struct md_device *m, struct kstatfs *sfs);
int cmm_mkdir(struct lu_context *ctxt, struct md_object *o, const char *name,
struct md_object *child);
-int cmm_attr_get(struct lu_context *ctxt,
- struct md_object *obj, void *buf, int size,
- const char *name, struct md_params *);
+int cmm_xattr_get(struct lu_context *ctxt,
+ struct md_object *obj, void *buf, int size,
+ const char *name, struct md_params *);
#endif /* __KERNEL__ */
#endif /* _CMM_INTERNAL_H */
return next->mo_ops->moo_mkdir(ctxt, next, name, md_child);
}
-int cmm_attr_get(struct lu_context *ctxt, struct md_object *obj,
- void *buf, int size, const char *name, struct md_params *arg)
+int cmm_xattr_get(struct lu_context *ctxt, struct md_object *obj,
+ void *buf, int size, const char *name, struct md_params *arg)
{
struct md_object *next = cmm2child_obj(md2cmm_obj(obj));
- return next->mo_ops->moo_attr_get(ctxt, next, buf, size, name, arg);
+ return next->mo_ops->moo_xattr_get(ctxt, next, buf, size, name, arg);
}
static struct md_object_operations cmm_mo_ops = {
.moo_mkdir = cmm_mkdir,
- .moo_attr_get = cmm_attr_get,
+ .moo_xattr_get = cmm_xattr_get,
// .moo_rename = cmm_rename,
// .moo_link = cmm_link,
-// .moo_attr_set = cmm_attr_set,
+// .moo_xattr_set = cmm_xattr_set,
// .moo_index_insert = cmm_index_insert,
// .moo_index_delete = cmm_index_delete,
// .moo_object_create = cmm_object_create,
struct dt_object *dt,
struct thandle *th);
- int (*do_attr_get)(struct lu_context *ctxt, struct dt_object *dt,
- void *buf, int buf_len, const char *name,
- struct md_params *arg);
+ int (*do_xattr_get)(struct lu_context *ctxt, struct dt_object *dt,
+ void *buf, int buf_len, const char *name,
+ struct md_params *arg);
- int (*do_attr_set)(struct lu_context *ctxt, struct dt_object *dt,
- void *buf, int buf_len, const char *name,
- struct md_params *arg, struct thandle *handle);
+ int (*do_xattr_set)(struct lu_context *ctxt, struct dt_object *dt,
+ void *buf, int buf_len, const char *name,
+ struct md_params *arg, struct thandle *handle);
int (*do_index_insert)(struct lu_context *ctxt,
struct dt_object *dt,
struct md_object *sobj, const char *name,
struct md_params *arg);
- int (*moo_attr_get)(struct lu_context *ctxt, struct md_object *obj,
- void *buf, int buf_len, const char *name,
- struct md_params *arg);
+ int (*moo_xattr_get)(struct lu_context *ctxt, struct md_object *obj,
+ void *buf, int buf_len, const char *name,
+ struct md_params *arg);
- int (*moo_attr_set)(struct lu_context *ctxt, struct md_object *obj,
- void *buf, int buf_len, const char *name,
- struct md_params *arg);
+ int (*moo_xattr_set)(struct lu_context *ctxt, struct md_object *obj,
+ void *buf, int buf_len, const char *name,
+ struct md_params *arg);
/* FLD maintanence related handlers */
int (*moo_index_insert)(struct lu_context *ctxt,
}
static int
-mdd_attr_get(struct lu_context *ctxt, struct md_object *obj, void *buf,
- int buf_len, const char *name,
- struct md_params *arg)
+mdd_xattr_get(struct lu_context *ctxt, struct md_object *obj, void *buf,
+ int buf_len, const char *name,
+ struct md_params *arg)
{
struct mdd_object *mdd_obj = mdo2mddo(obj);
struct dt_object *next = mdd_object_child(mdd_obj);
ENTRY;
- rc = next->do_ops->do_attr_get(ctxt, next, buf, buf_len, name, arg);
+ rc = next->do_ops->do_xattr_get(ctxt, next, buf, buf_len, name, arg);
RETURN(rc);
}
int rc;
int nlink;
- rc = mdd_attr_get(ctxt, &obj->mod_obj, &nlink,
+ rc = mdd_xattr_get(ctxt, &obj->mod_obj, &nlink,
sizeof(nlink), "NLINK", NULL);
if (rc == 0) {
if (nlink == 0)
}
static int
-__mdd_attr_set(struct lu_context *ctxt, struct mdd_device *mdd,
- struct mdd_object *obj, void *buf,
- int buf_len, const char *name, struct md_params *arg,
- struct thandle *handle)
+__mdd_xattr_set(struct lu_context *ctxt, struct mdd_device *mdd,
+ struct mdd_object *obj, void *buf,
+ int buf_len, const char *name, struct md_params *arg,
+ struct thandle *handle)
{
struct dt_object *next = mdd_object_child(obj);
- return next->do_ops->do_attr_set(ctxt, next, buf, buf_len,
- name, arg, handle);
+ return next->do_ops->do_xattr_set(ctxt, next, buf, buf_len,
+ name, arg, handle);
}
static int
-mdd_attr_set(struct lu_context *ctxt, struct md_object *obj, void *buf,
- int buf_len, const char *name, struct md_params *arg)
+mdd_xattr_set(struct lu_context *ctxt, struct md_object *obj, void *buf,
+ int buf_len, const char *name, struct md_params *arg)
{
struct mdd_device *mdd = mdo2mdd(obj);
struct thandle *handle;
if (!handle)
RETURN(-ENOMEM);
- rc = __mdd_attr_set(ctxt, mdd, mdo2mddo(obj), buf, buf_len, name,
- arg, handle);
+ rc = __mdd_xattr_set(ctxt, mdd, mdo2mddo(obj), buf, buf_len, name,
+ arg, handle);
mdd_trans_stop(ctxt, mdd, handle);
if (rc)
GOTO(exit, rc);
- rc = mdd_attr_get(ctxt, src_obj, &nlink, sizeof(nlink), "NLINK", arg);
+ rc = mdd_xattr_get(ctxt, src_obj, &nlink, sizeof(nlink), "NLINK", arg);
++nlink;
- rc = __mdd_attr_set(ctxt, mdd, mdd_sobj, &nlink, sizeof(nlink), "NLINK",
- arg, handle);
+ rc = __mdd_xattr_set(ctxt, mdd, mdd_sobj,
+ &nlink, sizeof(nlink), "NLINK", arg, handle);
exit:
mdd_unlock2(ctxt, mdd_tobj, mdd_sobj);
.moo_mkdir = mdd_mkdir,
.moo_rename = mdd_rename,
.moo_link = mdd_link,
- .moo_attr_get = mdd_attr_get,
- .moo_attr_set = mdd_attr_set,
+ .moo_xattr_get = mdd_xattr_get,
+ .moo_xattr_set = mdd_xattr_set,
.moo_index_insert = mdd_index_insert,
.moo_index_delete = mdd_index_delete,
.moo_object_create = mdd_object_create,
static int osd_object_init(struct lu_context *ctxt, struct lu_object *l)
{
- struct osd_device *d = osd_dev(l->lo_dev);
+ struct osd_object *o = osd_obj(l);
int result;
- result = osd_fid_lookup(ctxt, osd_obj(l), lu_object_fid(l));
+ result = osd_fid_lookup(ctxt, o, lu_object_fid(l));
if (result == 0)
/* fill lu_attr in ctxt */
- result = osd_getattr(ctxt, osd_sb(d)->s_root->d_inode,
- &ctxt->lc_attr);
+ result = osd_getattr(ctxt, o->oo_inode, &ctxt->lc_attr);
return result;
}
{
struct osd_object *o = osd_obj(l);
- return seq_printf(f, LUSTRE_OSD0_NAME"-object@%p(i:%p)",
- o, o->oo_inode);
+ return seq_printf(f, LUSTRE_OSD0_NAME"-object@%p(i:%p:%lu/%u)",
+ o, o->oo_inode,
+ o->oo_inode ? o->oo_inode->i_ino : 0UL,
+ o->oo_inode ? o->oo_inode->i_generation : 0);
}
static int osd_config(struct lu_context *ctx,
RETURN (result);
}
-static int osd_attr_get(struct lu_context *ctxt, struct dt_object *dt,
- void *buf, int size, const char *name,
- struct md_params *arg)
+static int osd_xattr_get(struct lu_context *ctxt, struct dt_object *dt,
+ void *buf, int size, const char *name,
+ struct md_params *arg)
{
//struct osd_object *o = dt2osd_obj(dt);
//struct osd_device *dev = osd_obj2dev(o);