diff options
| author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-09-04 17:50:20 -0400 |
|---|---|---|
| committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-09-09 09:41:46 -0400 |
| commit | 52df04f03994217aa5f98eb83255e85ee60b5e29 (patch) | |
| tree | 1599a8c61dea864fb5660f436669ee66a17ed541 /fs/bcachefs/extents.c | |
| parent | bcachefs: Simplify bch2_bkey_drop_ptrs() (diff) | |
| download | linux-52df04f03994217aa5f98eb83255e85ee60b5e29.tar.gz linux-52df04f03994217aa5f98eb83255e85ee60b5e29.zip | |
bcachefs: More BCH_SB_MEMBER_INVALID support
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/extents.c')
| -rw-r--r-- | fs/bcachefs/extents.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/bcachefs/extents.c b/fs/bcachefs/extents.c index 1a0c714c13e2..324303bf4353 100644 --- a/fs/bcachefs/extents.c +++ b/fs/bcachefs/extents.c @@ -787,6 +787,11 @@ void bch2_bkey_drop_ptr_noerror(struct bkey_s k, struct bch_extent_ptr *ptr) union bch_extent_entry *entry = to_entry(ptr), *next; bool drop_crc = true; + if (k.k->type == KEY_TYPE_stripe) { + ptr->dev = BCH_SB_MEMBER_INVALID; + return; + } + EBUG_ON(ptr < &ptrs.start->ptr || ptr >= &ptrs.end->ptr); EBUG_ON(ptr->type != 1 << BCH_EXTENT_ENTRY_ptr); |
