char oxe_buf[0];
};
-struct osp_object_attr {
- struct lu_attr ooa_attr;
- struct list_head ooa_xattr_list;
-};
-
/* this is a top object */
struct osp_object {
struct lu_object_header opo_header;
/* read/write lock for md osp object */
struct rw_semaphore opo_sem;
const struct lu_env *opo_owner;
- struct osp_object_attr *opo_ooa;
+ struct lu_attr opo_attr;
+ struct list_head opo_xattr_list;
/* Protect opo_ooa. */
spinlock_t opo_lock;
};
const char *name, struct thandle *th);
int osp_xattr_del(const struct lu_env *env, struct dt_object *dt,
const char *name, struct thandle *th);
+int osp_invalidate(const struct lu_env *env, struct dt_object *dt);
int osp_trans_stop(const struct lu_env *env, struct dt_device *dt,
struct thandle *th);
int osp_it_key_rec(const struct lu_env *env, const struct dt_it *di,
void *key_rec);
int osp_it_next_page(const struct lu_env *env, struct dt_it *di);
-int osp_oac_init(struct osp_object *obj);
/* osp_md_object.c */
int osp_md_declare_object_create(const struct lu_env *env,
struct dt_object *dt,