4 #include <linux/uuid.h>
7 #include "libbcachefs/bcachefs_format.h"
8 #include "tools-util.h"
9 #include "libbcachefs/vstructs.h"
15 unsigned on_error_action;
18 unsigned btree_node_size;
19 unsigned encoded_extent_max;
21 unsigned meta_replicas;
22 unsigned data_replicas;
24 unsigned meta_replicas_required;
25 unsigned data_replicas_required;
27 unsigned meta_csum_type;
28 unsigned data_csum_type;
29 unsigned compression_type;
35 static inline struct format_opts format_opts_default()
37 return (struct format_opts) {
38 .on_error_action = BCH_ON_ERROR_RO,
39 .encoded_extent_max = 128,
40 .meta_csum_type = BCH_CSUM_CRC32C,
41 .data_csum_type = BCH_CSUM_CRC32C,
44 .meta_replicas_required = 1,
45 .data_replicas_required = 1,
52 u64 size; /* 512 byte sectors */
55 unsigned data_allowed;
64 static inline struct dev_opts dev_opts_default()
66 return (struct dev_opts) {
67 .data_allowed = ~0U << 2,
71 void bch2_pick_bucket_size(struct format_opts, struct dev_opts *);
72 struct bch_sb *bch2_format(struct format_opts, struct dev_opts *, size_t);
74 void bch2_super_write(int, struct bch_sb *);
75 struct bch_sb *__bch2_super_read(int, u64);
77 void bch2_super_print(struct bch_sb *, int);
79 #endif /* _LIBBCACHE_H */