]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/move.h
Add a subcommand for resizing the journal
[bcachefs-tools-debian] / libbcachefs / move.h
index bc98f94bb23d8b267974f864b6a80d64411e2c73..b04bc669226de68582c59bdd8cb13ac035b219b2 100644 (file)
@@ -1,9 +1,11 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #ifndef _BCACHEFS_MOVE_H
 #define _BCACHEFS_MOVE_H
 
 #include "btree_iter.h"
 #include "buckets.h"
 #include "io_types.h"
+#include "move_types.h"
 
 struct bch_read_bio;
 struct moving_context;
@@ -18,11 +20,13 @@ enum data_cmd {
 
 struct data_opts {
        u16             target;
-       unsigned        rewrite_dev;
+       u8              rewrite_dev;
+       u8              nr_replicas;
        int             btree_insert_flags;
 };
 
 struct migrate_write {
+       enum btree_id           btree_id;
        enum data_cmd           data_cmd;
        struct data_opts        data_opts;
 
@@ -42,22 +46,12 @@ int bch2_migrate_write_init(struct bch_fs *, struct migrate_write *,
                            struct write_point_specifier,
                            struct bch_io_opts,
                            enum data_cmd, struct data_opts,
-                           struct bkey_s_c);
+                           enum btree_id, struct bkey_s_c);
 
 typedef enum data_cmd (*move_pred_fn)(struct bch_fs *, void *,
-                               enum bkey_type, struct bkey_s_c_extent,
+                               struct bkey_s_c,
                                struct bch_io_opts *, struct data_opts *);
 
-struct bch_move_stats {
-       enum bch_data_type      data_type;
-       struct btree_iter       iter;
-
-       atomic64_t              keys_moved;
-       atomic64_t              sectors_moved;
-       atomic64_t              sectors_seen;
-       atomic64_t              sectors_raced;
-};
-
 int bch2_move_data(struct bch_fs *, struct bch_ratelimit *,
                   struct write_point_specifier,
                   struct bpos, struct bpos,