1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _BCACHEFS_REBALANCE_FORMAT_H 3 #define _BCACHEFS_REBALANCE_FORMAT_H 4 5 struct 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 54