Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.13-rc1 55 lines 1.5 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2 3#ifndef _BCACHEFS_DATA_UPDATE_H 4#define _BCACHEFS_DATA_UPDATE_H 5 6#include "bkey_buf.h" 7#include "io_write_types.h" 8 9struct moving_context; 10 11struct data_update_opts { 12 unsigned rewrite_ptrs; 13 unsigned kill_ptrs; 14 u16 target; 15 u8 extra_replicas; 16 unsigned btree_insert_flags; 17 unsigned write_flags; 18}; 19 20void bch2_data_update_opts_to_text(struct printbuf *, struct bch_fs *, 21 struct bch_io_opts *, struct data_update_opts *); 22 23struct data_update { 24 /* extent being updated: */ 25 enum btree_id btree_id; 26 struct bkey_buf k; 27 struct data_update_opts data_opts; 28 struct moving_context *ctxt; 29 struct bch_move_stats *stats; 30 struct bch_write_op op; 31}; 32 33void bch2_data_update_to_text(struct printbuf *, struct data_update *); 34 35int bch2_data_update_index_update(struct bch_write_op *); 36 37void bch2_data_update_read_done(struct data_update *, 38 struct bch_extent_crc_unpacked); 39 40int bch2_extent_drop_ptrs(struct btree_trans *, 41 struct btree_iter *, 42 struct bkey_s_c, 43 struct bch_io_opts *, 44 struct data_update_opts *); 45 46void bch2_data_update_exit(struct data_update *); 47int bch2_data_update_init(struct btree_trans *, struct btree_iter *, 48 struct moving_context *, 49 struct data_update *, 50 struct write_point_specifier, 51 struct bch_io_opts, struct data_update_opts, 52 enum btree_id, struct bkey_s_c); 53void bch2_data_update_opts_normalize(struct bkey_s_c, struct data_update_opts *); 54 55#endif /* _BCACHEFS_DATA_UPDATE_H */