diff options
| author | Kent Overstreet <[email protected]> | 2024-10-13 23:38:00 +0000 |
|---|---|---|
| committer | Kent Overstreet <[email protected]> | 2024-10-14 02:03:03 +0000 |
| commit | cb6055e66faa0d4c15587ef67be18bc199aef085 (patch) | |
| tree | c2da553f08c46b5b46791514001bd2187969fe9b /rust/helpers/helpers.c | |
| parent | bcachefs: Fix kasan splat in new_stripe_alloc_buckets() (diff) | |
| download | kernel-cb6055e66faa0d4c15587ef67be18bc199aef085.tar.gz kernel-cb6055e66faa0d4c15587ef67be18bc199aef085.zip | |
bcachefs: Handle race between stripe reuse, invalidate_stripe_to_dev
When creating a new stripe, we may reuse an existing stripe that has
some empty and some nonempty blocks.
Generally, the existing stripe won't change underneath us - except for
block sector counts, which we copy to the new key in
ec_stripe_key_update.
But the device removal path can now invalidate stripe pointers to a
device, and that can race with stripe reuse.
Change ec_stripe_key_update() to check for and resolve this
inconsistency.
Signed-off-by: Kent Overstreet <[email protected]>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions
