Whamcloud - gitweb
LU-11625 ofd: handle upgraded filter_fid properly
[fs/lustre-release.git] / lustre / lod / lod_internal.h
index f74d951..a240b72 100644 (file)
@@ -254,6 +254,7 @@ struct lod_layout_component {
        __u16                     llc_stripe_offset;
        __u16                     llc_stripe_count;
        __u16                     llc_stripes_allocated;
+       __u64                     llc_timestamp; /* snapshot time */
        char                     *llc_pool;
        /* ost list specified with LOV_USER_MAGIC_SPECIFIC lum */
        struct ost_pool           llc_ostlist;
@@ -317,6 +318,8 @@ struct lod_object {
                        __u16           ldo_dir_stripes_allocated;
                        __u32           ldo_dir_stripe_offset;
                        __u32           ldo_dir_hash_type;
+                       __u32           ldo_dir_migrate_offset;
+                       __u32           ldo_dir_migrate_hash;
                        /* Is a slave stripe of striped directory? */
                        __u32           ldo_dir_slave_stripe:1,
                                        ldo_dir_striped:1,
@@ -436,7 +439,7 @@ struct lod_thread_info {
        struct lustre_cfg               lti_lustre_cfg;
        /* used to store parent default striping in create */
        struct lod_default_striping     lti_def_striping;
-       struct filter_fid lti_ff;
+       struct filter_fid               lti_ff;
        __u32                           *lti_comp_idx;
        size_t                          lti_comp_size;
        size_t                          lti_count;
@@ -707,6 +710,7 @@ struct lod_obj_stripe_cb_data {
        union {
                const struct lu_attr    *locd_attr;
                int                     locd_ost_index;
+               const struct lu_buf     *locd_buf;
        };
        lod_obj_stripe_cb_t             locd_stripe_cb;
        lod_obj_comp_skip_cb_t          locd_comp_skip_cb;
@@ -757,6 +761,8 @@ void lod_striping_free(const struct lu_env *env, struct lod_object *lo);
 int lod_obj_for_each_stripe(const struct lu_env *env, struct lod_object *lo,
                            struct thandle *th,
                            struct lod_obj_stripe_cb_data *data);
+int lod_comp_copy_ost_lists(struct lod_layout_component *lod_comp,
+                           struct lov_user_md_v3 *v3);
 
 /* lod_sub_object.c */
 struct thandle *lod_sub_get_thandle(const struct lu_env *env,
@@ -787,7 +793,7 @@ int lod_sub_declare_insert(const struct lu_env *env, struct dt_object *dt,
                           struct thandle *th);
 int lod_sub_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);
+                  struct thandle *th);
 int lod_sub_declare_delete(const struct lu_env *env, struct dt_object *dt,
                           const struct dt_key *key, struct thandle *th);
 int lod_sub_delete(const struct lu_env *env, struct dt_object *dt,
@@ -811,7 +817,7 @@ int lod_sub_declare_write(const struct lu_env *env, struct dt_object *dt,
                          struct thandle *th);
 ssize_t lod_sub_write(const struct lu_env *env, struct dt_object *dt,
                      const struct lu_buf *buf, loff_t *pos,
-                     struct thandle *th, int rq);
+                     struct thandle *th);
 int lod_sub_declare_punch(const struct lu_env *env, struct dt_object *dt,
                          __u64 start, __u64 end, struct thandle *th);
 int lod_sub_punch(const struct lu_env *env, struct dt_object *dt,