diff options
Diffstat (limited to 'c_src/libbcachefs/move_types.h')
-rw-r--r-- | c_src/libbcachefs/move_types.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/c_src/libbcachefs/move_types.h b/c_src/libbcachefs/move_types.h new file mode 100644 index 00000000..e22841ef --- /dev/null +++ b/c_src/libbcachefs/move_types.h @@ -0,0 +1,36 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _BCACHEFS_MOVE_TYPES_H +#define _BCACHEFS_MOVE_TYPES_H + +#include "bbpos_types.h" + +struct bch_move_stats { + enum bch_data_type data_type; + struct bbpos pos; + char name[32]; + + atomic64_t keys_moved; + atomic64_t keys_raced; + atomic64_t sectors_seen; + atomic64_t sectors_moved; + atomic64_t sectors_raced; +}; + +struct move_bucket_key { + struct bpos bucket; + u8 gen; +}; + +struct move_bucket { + struct move_bucket_key k; + unsigned sectors; +}; + +struct move_bucket_in_flight { + struct move_bucket_in_flight *next; + struct rhash_head hash; + struct move_bucket bucket; + atomic_t count; +}; + +#endif /* _BCACHEFS_MOVE_TYPES_H */ |