- pr_buf(out, "(not set)");
- pr_newline(out);
-
- pr_buf(out, "Squence number: %llu", le64_to_cpu(sb->seq));
- pr_newline(out);
-
- pr_buf(out, "Block_size: ");
- pr_units(out, le16_to_cpu(sb->block_size),
- (u32) le16_to_cpu(sb->block_size) << 9);
- pr_newline(out);
-
- pr_buf(out, "Btree node size: ");
- pr_units(out, BCH_SB_BTREE_NODE_SIZE(sb),
- BCH_SB_BTREE_NODE_SIZE(sb) << 9);
- pr_newline(out);
-
- pr_buf(out, "Error action: %s",
- BCH_SB_ERROR_ACTION(sb) < BCH_ON_ERROR_NR
- ? bch2_error_actions[BCH_SB_ERROR_ACTION(sb)]
- : "unknown");
- pr_newline(out);
-
- pr_buf(out, "Clean: %llu", BCH_SB_CLEAN(sb));
- pr_newline(out);
-
- pr_buf(out, "Features: ");
- bch2_flags_to_text(out, bch2_sb_features,
- le64_to_cpu(sb->features[0]));
- pr_newline(out);
-
- pr_buf(out, "Compat features: ");
- bch2_flags_to_text(out, bch2_sb_compat,
- le64_to_cpu(sb->compat[0]));
- pr_newline(out);
-
- pr_buf(out, "Metadata replicas: %llu", BCH_SB_META_REPLICAS_WANT(sb));
- pr_newline(out);
-
- pr_buf(out, "Data replicas: %llu", BCH_SB_DATA_REPLICAS_WANT(sb));
- pr_newline(out);
-
- pr_buf(out, "Metadata checksum type: %s (%llu)",
- BCH_SB_META_CSUM_TYPE(sb) < BCH_CSUM_OPT_NR
- ? bch2_csum_opts[BCH_SB_META_CSUM_TYPE(sb)]
- : "unknown",
- BCH_SB_META_CSUM_TYPE(sb));
- pr_newline(out);
-
- pr_buf(out, "Data checksum type: %s (%llu)",
- BCH_SB_DATA_CSUM_TYPE(sb) < BCH_CSUM_OPT_NR
- ? bch2_csum_opts[BCH_SB_DATA_CSUM_TYPE(sb)]
- : "unknown",
- BCH_SB_DATA_CSUM_TYPE(sb));
- pr_newline(out);
-
- pr_buf(out, "Compression type: %s (%llu)",
- BCH_SB_COMPRESSION_TYPE(sb) < BCH_COMPRESSION_OPT_NR
- ? bch2_compression_opts[BCH_SB_COMPRESSION_TYPE(sb)]
- : "unknown",
- BCH_SB_COMPRESSION_TYPE(sb));
- pr_newline(out);
-
- pr_buf(out, "Foreground write target: ");
- bch2_sb_target_to_text(out, sb, BCH_SB_FOREGROUND_TARGET(sb));
- pr_newline(out);
-
- pr_buf(out, "Background write target: ");
- bch2_sb_target_to_text(out, sb, BCH_SB_BACKGROUND_TARGET(sb));
- pr_newline(out);
-
- pr_buf(out, "Promote target: ");
- bch2_sb_target_to_text(out, sb, BCH_SB_PROMOTE_TARGET(sb));
- pr_newline(out);
-
- pr_buf(out, "Metadata target: ");
- bch2_sb_target_to_text(out, sb, BCH_SB_METADATA_TARGET(sb));
- pr_newline(out);
-
- pr_buf(out, "String hash type: %s (%llu)",
- BCH_SB_STR_HASH_TYPE(sb) < BCH_STR_HASH_NR
- ? bch2_str_hash_types[BCH_SB_STR_HASH_TYPE(sb)]
- : "unknown",
- BCH_SB_STR_HASH_TYPE(sb));
- pr_newline(out);
-
- pr_buf(out, "32 bit inodes: %llu", BCH_SB_INODE_32BIT(sb));
- pr_newline(out);
-
- pr_buf(out, "GC reserve percentage: %llu%%", BCH_SB_GC_RESERVE(sb));
- pr_newline(out);
-
- pr_buf(out, "Root reserve percentage: %llu%%", BCH_SB_ROOT_RESERVE(sb));
- pr_newline(out);
-
- pr_buf(out, "Devices: %u live, %u total",
- nr_devices, sb->nr_devices);
- pr_newline(out);
-
- pr_buf(out, "Sections: ");
+ prt_printf(out, "(not set)");
+ prt_newline(out);
+
+ prt_printf(out, "Sequence number:");
+ prt_tab(out);
+ prt_printf(out, "%llu", le64_to_cpu(sb->seq));
+ prt_newline(out);
+
+ prt_printf(out, "Superblock size:");
+ prt_tab(out);
+ prt_printf(out, "%zu", vstruct_bytes(sb));
+ prt_newline(out);
+
+ prt_printf(out, "Clean:");
+ prt_tab(out);
+ prt_printf(out, "%llu", BCH_SB_CLEAN(sb));
+ prt_newline(out);
+
+ prt_printf(out, "Devices:");
+ prt_tab(out);
+ prt_printf(out, "%u", nr_devices);
+ prt_newline(out);
+
+ prt_printf(out, "Sections:");