1 #ifndef _BCACHEFS_MOVE_H
2 #define _BCACHEFS_MOVE_H
4 #include "btree_iter.h"
7 #include "move_types.h"
10 struct moving_context;
23 int btree_insert_flags;
26 struct migrate_write {
27 enum data_cmd data_cmd;
28 struct data_opts data_opts;
30 unsigned nr_ptrs_reserved;
32 struct moving_context *ctxt;
35 struct bch_extent_ptr ptr;
38 struct bch_write_op op;
41 void bch2_migrate_read_done(struct migrate_write *, struct bch_read_bio *);
42 int bch2_migrate_write_init(struct bch_fs *, struct migrate_write *,
43 struct write_point_specifier,
45 enum data_cmd, struct data_opts,
48 typedef enum data_cmd (*move_pred_fn)(struct bch_fs *, void *,
50 struct bch_io_opts *, struct data_opts *);
52 int bch2_move_data(struct bch_fs *, struct bch_ratelimit *,
53 struct write_point_specifier,
54 struct bpos, struct bpos,
56 struct bch_move_stats *);
58 int bch2_data_job(struct bch_fs *,
59 struct bch_move_stats *,
60 struct bch_ioctl_data);
62 #endif /* _BCACHEFS_MOVE_H */