bcachefs: Fix snapshot skiplists during snapshot deletion
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 29 Sep 2023 04:46:30 +0000 (00:46 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:10:16 +0000 (17:10 -0400)
commit1e2d399970ca1d66fa1c715f4d80a0251f2a122e
tree89d28de5c0a8632dda4332e101799d2f8bf9cc29
parent4637429e3946d083eedde1668c17a4fadaf3c0b1
bcachefs: Fix snapshot skiplists during snapshot deletion

In snapshot deleion, we have to pick new skiplist nodes for entries that
point to nodes being deleted.

The function that finds a new skiplist node, skipping over entries being
deleted, was incorrect: if n = 0, but the parent node is being deleted,
we also need to skip over that node.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/snapshot.c