Whamcloud - gitweb
LU-3536 lod: Separate thandle to different layers.
[fs/lustre-release.git] / lustre / lod / lod_internal.h
index 3d6fa6d..2830b83 100644 (file)
@@ -482,5 +482,80 @@ int lod_striping_create(const struct lu_env *env, struct dt_object *dt,
                        struct thandle *th);
 void lod_object_free_striping(const struct lu_env *env, struct lod_object *lo);
 
+/* lod_sub_object.c */
+struct thandle *lod_sub_get_thandle(const struct lu_env *env,
+                                   struct thandle *th,
+                                   const struct dt_object *sub_obj);
+int lod_sub_object_declare_create(const struct lu_env *env,
+                                 struct dt_object *dt,
+                                 struct lu_attr *attr,
+                                 struct dt_allocation_hint *hint,
+                                 struct dt_object_format *dof,
+                                 struct thandle *th);
+int lod_sub_object_create(const struct lu_env *env, struct dt_object *dt,
+                         struct lu_attr *attr,
+                         struct dt_allocation_hint *hint,
+                         struct dt_object_format *dof,
+                         struct thandle *th);
+int lod_sub_object_declare_ref_add(const struct lu_env *env,
+                                  struct dt_object *dt,
+                                  struct thandle *th);
+int lod_sub_object_ref_add(const struct lu_env *env, struct dt_object *dt,
+                          struct thandle *th);
+int lod_sub_object_declare_ref_del(const struct lu_env *env,
+                                  struct dt_object *dt,
+                                  struct thandle *th);
+int lod_sub_object_ref_del(const struct lu_env *env, struct dt_object *dt,
+                          struct thandle *th);
+int lod_sub_object_declare_destroy(const struct lu_env *env,
+                                  struct dt_object *dt,
+                                  struct thandle *th);
+int lod_sub_object_destroy(const struct lu_env *env, struct dt_object *dt,
+                          struct thandle *th);
+int lod_sub_object_declare_insert(const struct lu_env *env,
+                                 struct dt_object *dt,
+                                 const struct dt_rec *rec,
+                                 const struct dt_key *key,
+                                 struct thandle *th);
+int lod_sub_object_index_insert(const struct lu_env *env, struct dt_object *dt,
+                               const struct dt_rec *rec,
+                               const struct dt_key *key, struct thandle *th,
+                               int ign);
+int lod_sub_object_declare_delete(const struct lu_env *env,
+                                 struct dt_object *dt,
+                                 const struct dt_key *key,
+                                 struct thandle *th);
+int lod_sub_object_delete(const struct lu_env *env, struct dt_object *dt,
+                         const struct dt_key *name, struct thandle *th);
+int lod_sub_object_declare_xattr_set(const struct lu_env *env,
+                                    struct dt_object *dt,
+                                    const struct lu_buf *buf,
+                                    const char *name, int fl,
+                                    struct thandle *th);
+int lod_sub_object_xattr_set(const struct lu_env *env, struct dt_object *dt,
+                            const struct lu_buf *buf, const char *name, int fl,
+                            struct thandle *th);
+int lod_sub_object_declare_attr_set(const struct lu_env *env,
+                                   struct dt_object *dt,
+                                   const struct lu_attr *attr,
+                                   struct thandle *th);
+int lod_sub_object_attr_set(const struct lu_env *env,
+                           struct dt_object *dt,
+                           const struct lu_attr *attr,
+                           struct thandle *th);
+int lod_sub_object_declare_xattr_del(const struct lu_env *env,
+                                    struct dt_object *dt,
+                                    const char *name,
+                                    struct thandle *th);
+int lod_sub_object_xattr_del(const struct lu_env *env,
+                            struct dt_object *dt,
+                            const char *name,
+                            struct thandle *th);
+int lod_sub_object_declare_write(const struct lu_env *env,
+                                struct dt_object *dt,
+                                const struct lu_buf *buf, loff_t pos,
+                                struct thandle *th);
+ssize_t lod_sub_object_write(const struct lu_env *env, struct dt_object *dt,
+                            const struct lu_buf *buf, loff_t *pos,
+                            struct thandle *th, int rq);
 #endif
-