diff options
author | 2025-05-27 22:20:27 -0400 | |
---|---|---|
committer | 2025-05-31 22:03:17 -0400 | |
commit | 0224d17d762ce036fde5ad18dd33236db6fca88b (patch) | |
tree | fedc47f64b3cbb9a96fcf1d4976be6cc9fdba5aa /scripts/lib/kdoc/kdoc_output.py | |
parent | bcachefs: Don't unlock trans before data_update_init() (diff) | |
download | linux-rng-0224d17d762ce036fde5ad18dd33236db6fca88b.tar.xz linux-rng-0224d17d762ce036fde5ad18dd33236db6fca88b.zip |
bcachefs: Runtime self healing for keys for deleted snapshots
If snapshot deletion incorrectly missing some keys and leaves keys for
deleted snapshots, that causes a bit of a problem for data move - we
can't move an extent for a nonexistent snapshot, because the extent
might have to be fragmented, and maintaining correct visibility in child
snapshots doesn't work if it doesn't have a snapshot.
Previously we'd just skip these keys, but it turns out that causes
copygc to spin.
So we need runtime self healing, i.e. calling check_key_has_snapshot()
from the data move path.
Snapshot deletion v2 included sentinal values for deleted snapshot
nodes, so this is quite safe.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_output.py')
0 files changed, 0 insertions, 0 deletions