Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _BCACHEFS_REBALANCE_FORMAT_H
3#define _BCACHEFS_REBALANCE_FORMAT_H
4
5struct bch_extent_rebalance {
6#if defined(__LITTLE_ENDIAN_BITFIELD)
7 __u64 type:6,
8 unused:3,
9
10 promote_target_from_inode:1,
11 erasure_code_from_inode:1,
12 data_checksum_from_inode:1,
13 background_compression_from_inode:1,
14 data_replicas_from_inode:1,
15 background_target_from_inode:1,
16
17 promote_target:16,
18 erasure_code:1,
19 data_checksum:4,
20 data_replicas:4,
21 background_compression:8, /* enum bch_compression_opt */
22 background_target:16;
23#elif defined (__BIG_ENDIAN_BITFIELD)
24 __u64 background_target:16,
25 background_compression:8,
26 data_replicas:4,
27 data_checksum:4,
28 erasure_code:1,
29 promote_target:16,
30
31 background_target_from_inode:1,
32 data_replicas_from_inode:1,
33 background_compression_from_inode:1,
34 data_checksum_from_inode:1,
35 erasure_code_from_inode:1,
36 promote_target_from_inode:1,
37
38 unused:3,
39 type:6;
40#endif
41};
42
43/* subset of BCH_INODE_OPTS */
44#define BCH_REBALANCE_OPTS() \
45 x(data_checksum) \
46 x(background_compression) \
47 x(data_replicas) \
48 x(promote_target) \
49 x(background_target) \
50 x(erasure_code)
51
52#endif /* _BCACHEFS_REBALANCE_FORMAT_H */
53