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;
};
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) */
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.
*/
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);
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,
__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);