diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-04-12 13:09:09 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:09:31 -0400 |
commit | 41fc86222480c34d8647661b36d3fb1e9312fd33 (patch) | |
tree | 94274a673eda5223ebe36ec314ca185eef22fad7 /fs/bcachefs/buckets.c | |
parent | c609947b5eae4bee096fde660a53a719ee65e191 (diff) | |
download | lwn-41fc86222480c34d8647661b36d3fb1e9312fd33.tar.gz lwn-41fc86222480c34d8647661b36d3fb1e9312fd33.zip |
bcachefs: In fsck, pass BTREE_UPDATE_INTERNAL_SNAPSHOT_NODE when deleting dirents
A user reported an error where we hit an assertion due to deleting a key
in an internal snapshot node, when deleting a dirent that points to a
nonexisting inode.
We try to avoid doing updates to keys for internal snapshot nodes, but
upon inspection of the places where we remove dirents in fsck it appears
BTREE_UPDATE_INTERNAL_SNAPSHOT_NODE is correct for all of them: either
the target dirent doesn't exist, or it's a directory with multiple
dirents pointing to it.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/buckets.c')
0 files changed, 0 insertions, 0 deletions