diff options
| -rw-r--r-- | fs/bcachefs/bcachefs_format.h | 37 | ||||
| -rw-r--r-- | fs/bcachefs/replicas_format.h | 31 | 
2 files changed, 36 insertions, 32 deletions
diff --git a/fs/bcachefs/bcachefs_format.h b/fs/bcachefs/bcachefs_format.h index b7690fc3ffc6..66df1e5c2a87 100644 --- a/fs/bcachefs/bcachefs_format.h +++ b/fs/bcachefs/bcachefs_format.h @@ -503,19 +503,20 @@ struct bch_sb_field {  #include "alloc_background_format.h"  #include "extents_format.h" -#include "reflink_format.h"  #include "ec_format.h" -#include "inode_format.h"  #include "dirent_format.h"  #include "disk_groups_format.h" -#include "xattr_format.h" -#include "quota_format.h" +#include "inode_format.h"  #include "logged_ops_format.h" +#include "quota_format.h" +#include "reflink_format.h" +#include "replicas_format.h"  #include "snapshot_format.h"  #include "subvolume_format.h"  #include "sb-counters_format.h"  #include "sb-downgrade_format.h"  #include "sb-members_format.h" +#include "xattr_format.h"  enum bch_sb_field_type {  #define x(f, nr)	BCH_SB_FIELD_##f = nr, @@ -596,8 +597,6 @@ LE64_BITMASK(BCH_KDF_SCRYPT_N,	struct bch_sb_field_crypt, kdf_flags,  0, 16);  LE64_BITMASK(BCH_KDF_SCRYPT_R,	struct bch_sb_field_crypt, kdf_flags, 16, 32);  LE64_BITMASK(BCH_KDF_SCRYPT_P,	struct bch_sb_field_crypt, kdf_flags, 32, 48); -/* BCH_SB_FIELD_replicas: */ -  #define BCH_DATA_TYPES()		\  	x(free,		0)		\  	x(sb,		1)		\ @@ -640,32 +639,6 @@ static inline bool data_type_is_hidden(enum bch_data_type type)  	}  } -struct bch_replicas_entry_v0 { -	__u8			data_type; -	__u8			nr_devs; -	__u8			devs[]; -} __packed; - -struct bch_sb_field_replicas_v0 { -	struct bch_sb_field	field; -	struct bch_replicas_entry_v0 entries[]; -} __packed __aligned(8); - -struct bch_replicas_entry_v1 { -	__u8			data_type; -	__u8			nr_devs; -	__u8			nr_required; -	__u8			devs[]; -} __packed; - -#define replicas_entry_bytes(_i)					\ -	(offsetof(typeof(*(_i)), devs) + (_i)->nr_devs) - -struct bch_sb_field_replicas { -	struct bch_sb_field	field; -	struct bch_replicas_entry_v1 entries[]; -} __packed __aligned(8); -  /*   * On clean shutdown, store btree roots and current journal sequence number in   * the superblock: diff --git a/fs/bcachefs/replicas_format.h b/fs/bcachefs/replicas_format.h new file mode 100644 index 000000000000..b97208195d06 --- /dev/null +++ b/fs/bcachefs/replicas_format.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _BCACHEFS_REPLICAS_FORMAT_H +#define _BCACHEFS_REPLICAS_FORMAT_H + +struct bch_replicas_entry_v0 { +	__u8			data_type; +	__u8			nr_devs; +	__u8			devs[]; +} __packed; + +struct bch_sb_field_replicas_v0 { +	struct bch_sb_field	field; +	struct bch_replicas_entry_v0 entries[]; +} __packed __aligned(8); + +struct bch_replicas_entry_v1 { +	__u8			data_type; +	__u8			nr_devs; +	__u8			nr_required; +	__u8			devs[]; +} __packed; + +struct bch_sb_field_replicas { +	struct bch_sb_field	field; +	struct bch_replicas_entry_v1 entries[]; +} __packed __aligned(8); + +#define replicas_entry_bytes(_i)					\ +	(offsetof(typeof(*(_i)), devs) + (_i)->nr_devs) + +#endif /* _BCACHEFS_REPLICAS_FORMAT_H */  | 
