]> git.sesse.net Git - bcachefs-tools-debian/blob - c_src/libbcachefs/journal_sb.h
remove library from bcachefs-tools Rust package
[bcachefs-tools-debian] / c_src / libbcachefs / journal_sb.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2
3 #include "super-io.h"
4 #include "vstructs.h"
5
6 static inline unsigned bch2_nr_journal_buckets(struct bch_sb_field_journal *j)
7 {
8         return j
9                 ? (__le64 *) vstruct_end(&j->field) - j->buckets
10                 : 0;
11 }
12
13 static inline unsigned bch2_sb_field_journal_v2_nr_entries(struct bch_sb_field_journal_v2 *j)
14 {
15         if (!j)
16                 return 0;
17
18         return (struct bch_sb_field_journal_v2_entry *) vstruct_end(&j->field) - &j->d[0];
19 }
20
21 extern const struct bch_sb_field_ops bch_sb_field_ops_journal;
22 extern const struct bch_sb_field_ops bch_sb_field_ops_journal_v2;
23
24 int bch2_journal_buckets_to_sb(struct bch_fs *, struct bch_dev *, u64 *, unsigned);