summaryrefslogtreecommitdiff
path: root/scripts/lib/kdoc/kdoc_files.py
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-12-05 04:43:01 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2024-12-21 09:36:22 +0300
commit23f88c1d165563c9432314f92a9e7b8b6e17c7a2 (patch)
tree6346d441d1c8537c3e6389214aedf9d31d13fb17 /scripts/lib/kdoc/kdoc_files.py
parentc67fab0774cee93b6aac9adc3601bcf0a4ea6ab4 (diff)
downloadlinux-23f88c1d165563c9432314f92a9e7b8b6e17c7a2.tar.xz
bcachefs: Don't call bch2_btree_interior_update_will_free_node() until after update succeeds
Originally, btree splits always succeeded once we got to the point of recursing to the btree_insert_node() call. But that changed when we switched to not taking intent locks all the way up to the root, and that introduced a bug, because bch2_btree_interior_update_will_free_node() cancels paending writes and reparents a node that's going to be made visible on disk by another btree update to the current btree update. This was discovered in recent backpointers work, because bch2_btree_interior_update_will_free_node() also clears the will_make_reachable flag, causing backpointer target lookup to spuriously thing it had found a dangling backpointer (when the backpointer just hadn't been created yet by btree_update_nodes_written()). Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_files.py')
0 files changed, 0 insertions, 0 deletions