bcachefs: Log finsert/fcollapse operations
authorKent Overstreet <kent.overstreet@linux.dev>
Sun, 10 Sep 2023 23:11:47 +0000 (19:11 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:10:12 +0000 (17:10 -0400)
commitf3e374efbf1e32fc0235d44abc68abae06a8f7ab
tree5c31a7e0533597c868cf8e5c9d0e19dc7ad0a38e
parentb030e262b517b6bddc4bfa88ed8d335ef9de7671
bcachefs: Log finsert/fcollapse operations

Now that we have the logged operations btree, we can make
finsert/fcollapse atomic w.r.t. unclean shutdown as well.

This adds bch_logged_op_finsert to represent the state of an finsert or
fcollapse, which is a bit more complicated than truncate since we need
to track our position in the "shift extents" operation.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/bcachefs_format.h
fs/bcachefs/io_misc.c
fs/bcachefs/io_misc.h
fs/bcachefs/logged_ops.h