diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-12-08 22:31:09 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-12-29 14:57:48 -0500 |
commit | 1055935ffe151de39c45e33ea13d3370e46c8fbd (patch) | |
tree | daf0f052febd666eb5b0be3675226d14b4dde8e3 /libbcachefs/buckets.h | |
parent | 634c812a1ed05de8e3d1dc146eed95b942e1e38d (diff) |
Update bcachefs sources to 864591728963 bcachefs: Dropped superblock write is no longer a fatal error
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/buckets.h')
-rw-r--r-- | libbcachefs/buckets.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libbcachefs/buckets.h b/libbcachefs/buckets.h index 3bebc4c3..a9acdd6c 100644 --- a/libbcachefs/buckets.h +++ b/libbcachefs/buckets.h @@ -82,16 +82,15 @@ static inline void bucket_lock(struct bucket *b) static inline struct bucket *gc_bucket(struct bch_dev *ca, size_t b) { - return genradix_ptr(&ca->buckets_gc, b); + return bucket_valid(ca, b) + ? genradix_ptr(&ca->buckets_gc, b) + : NULL; } static inline struct bucket_gens *bucket_gens(struct bch_dev *ca) { return rcu_dereference_check(ca->bucket_gens, - !ca->fs || - percpu_rwsem_is_held(&ca->fs->mark_lock) || - lockdep_is_held(&ca->fs->state_lock) || - lockdep_is_held(&ca->bucket_lock)); + lockdep_is_held(&ca->fs->state_lock)); } static inline u8 *bucket_gen(struct bch_dev *ca, size_t b) |