Loading fs/bcachefs/buckets.c +1 −1 Original line number Diff line number Diff line Loading @@ -805,7 +805,7 @@ int bch2_bucket_ref_update(struct btree_trans *trans, struct bch_dev *ca, "bucket %u:%zu gen %u (mem gen %u) data type %s: stale dirty ptr (gen %u)\n" "while marking %s", ptr->dev, bucket_nr, b_gen, *bucket_gen(ca, bucket_nr), bucket_gen_get(ca, bucket_nr), bch2_data_type_str(bucket_data_type ?: ptr_data_type), ptr->gen, (printbuf_reset(&buf), Loading fs/bcachefs/buckets.h +8 −0 Original line number Diff line number Diff line Loading @@ -116,6 +116,14 @@ static inline u8 *bucket_gen(struct bch_dev *ca, size_t b) return gens->b + b; } static inline u8 bucket_gen_get(struct bch_dev *ca, size_t b) { rcu_read_lock(); u8 gen = *bucket_gen(ca, b); rcu_read_unlock(); return gen; } static inline size_t PTR_BUCKET_NR(const struct bch_dev *ca, const struct bch_extent_ptr *ptr) { Loading Loading
fs/bcachefs/buckets.c +1 −1 Original line number Diff line number Diff line Loading @@ -805,7 +805,7 @@ int bch2_bucket_ref_update(struct btree_trans *trans, struct bch_dev *ca, "bucket %u:%zu gen %u (mem gen %u) data type %s: stale dirty ptr (gen %u)\n" "while marking %s", ptr->dev, bucket_nr, b_gen, *bucket_gen(ca, bucket_nr), bucket_gen_get(ca, bucket_nr), bch2_data_type_str(bucket_data_type ?: ptr_data_type), ptr->gen, (printbuf_reset(&buf), Loading
fs/bcachefs/buckets.h +8 −0 Original line number Diff line number Diff line Loading @@ -116,6 +116,14 @@ static inline u8 *bucket_gen(struct bch_dev *ca, size_t b) return gens->b + b; } static inline u8 bucket_gen_get(struct bch_dev *ca, size_t b) { rcu_read_lock(); u8 gen = *bucket_gen(ca, b); rcu_read_unlock(); return gen; } static inline size_t PTR_BUCKET_NR(const struct bch_dev *ca, const struct bch_extent_ptr *ptr) { Loading