X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Fmd_object.h;h=f8d0f465eb891833484d87a44f21899a01ec4b3b;hb=8701e7e4b5ec1b34700c95b9b6588f4745730b72;hp=270e30244eab670b7f074bb1ad142ead3db149a6;hpb=0209add4a5099817111c8576afe930d1e2daef03;p=fs%2Flustre-release.git diff --git a/lustre/include/md_object.h b/lustre/include/md_object.h index 270e302..f8d0f46 100644 --- a/lustre/include/md_object.h +++ b/lustre/include/md_object.h @@ -139,13 +139,11 @@ struct md_attr { struct lov_mds_md *ma_lmm; union lmv_mds_md *ma_lmv; void *ma_acl; - struct llog_cookie *ma_cookie; struct lustre_capa *ma_capa; struct md_som_data *ma_som; int ma_lmm_size; int ma_lmv_size; int ma_acl_size; - int ma_cookie_size; __u16 ma_layout_gen; }; @@ -303,7 +301,7 @@ struct md_dir_operations { struct md_attr *ma, int no_name); int (*mdo_migrate)(const struct lu_env *env, struct md_object *pobj, - const struct lu_fid *lf, const struct lu_name *lname, + struct md_object *sobj, const struct lu_name *lname, struct md_object *tobj, struct md_attr *ma); /** This method is used to compare a requested layout to an existing * layout (struct lov_mds_md_v1/3 vs struct lov_mds_md_v1/3) */ @@ -425,6 +423,14 @@ struct md_object { const struct md_dir_operations *mo_dir_ops; }; +/* Mark the object to be dead, and can not be accessed anymore. + * XXX, right now, it will only be used for striped directory to + * mark the slave stripes dead, when deleting master object. It will be + * stored in slave LMV EA (see lod_mark_dead_object), which is only + * temporary, and will be removed later when we have proper way to mark + * the dead object. */ +#define LUSTRE_SLAVE_DEAD_FL 0x80000000 + /** * seq-server site. */ @@ -479,12 +485,6 @@ static inline struct md_object *md_object_next(const struct md_object *obj) return (obj ? lu2md(lu_object_next(&obj->mo_lu)) : NULL); } -static inline struct md_device *md_obj2dev(const struct md_object *o) -{ - LASSERT(o == NULL || IS_ERR(o) || lu_device_is_md(o->mo_lu.lo_dev)); - return container_of0(o->mo_lu.lo_dev, struct md_device, md_lu_dev); -} - static inline int md_device_init(struct md_device *md, struct lu_device_type *t) { return lu_device_init(&md->md_lu_dev, t); @@ -749,13 +749,13 @@ static inline int mdo_rename(const struct lu_env *env, static inline int mdo_migrate(const struct lu_env *env, struct md_object *pobj, - const struct lu_fid *lf, + struct md_object *sobj, const struct lu_name *lname, struct md_object *tobj, struct md_attr *ma) { LASSERT(pobj->mo_dir_ops->mdo_migrate); - return pobj->mo_dir_ops->mdo_migrate(env, pobj, lf, lname, tobj, ma); + return pobj->mo_dir_ops->mdo_migrate(env, pobj, sobj, lname, tobj, ma); } static inline int mdo_is_subdir(const struct lu_env *env, @@ -853,7 +853,7 @@ struct lu_local_obj_desc { __u32 llod_oid; int llod_is_index; const struct dt_index_features *llod_feat; - cfs_list_t llod_linkage; + struct list_head llod_linkage; }; int lustre_buf2som(void *buf, int rc, struct md_som_data *msd);