]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/super-io.h
Update bcachefs sources to 2a6125decb43 bcachefs: bch_sb_field_downgrade
[bcachefs-tools-debian] / libbcachefs / super-io.h
index e6f40a05431933e146c68376c4c87eacce38402e..1a8c2088c5c56ea93e9065a40e8041d8ba69deba 100644 (file)
@@ -40,6 +40,16 @@ struct bch_sb_field *bch2_sb_field_resize_id(struct bch_sb_handle *,
 #define bch2_sb_field_resize(_sb, _name, _u64s)                                \
        field_to_type(bch2_sb_field_resize_id(_sb, BCH_SB_FIELD_##_name, _u64s), _name)
 
+struct bch_sb_field *bch2_sb_field_get_minsize_id(struct bch_sb_handle *,
+                                       enum bch_sb_field_type, unsigned);
+#define bch2_sb_field_get_minsize(_sb, _name, _u64s)                           \
+       field_to_type(bch2_sb_field_get_minsize_id(_sb, BCH_SB_FIELD_##_name, _u64s), _name)
+
+#define bch2_sb_field_nr_entries(_f)                                   \
+       (_f ? ((bch2_sb_field_bytes(&_f->field) - sizeof(*_f)) /        \
+              sizeof(_f->entries[0]))                                  \
+           : 0)
+
 void bch2_sb_field_delete(struct bch_sb_handle *, enum bch_sb_field_type);
 
 extern const char * const bch2_sb_fields[];