diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-09-10 19:11:47 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:10:12 -0400 |
commit | f3e374efbf1e32fc0235d44abc68abae06a8f7ab (patch) | |
tree | 5c31a7e0533597c868cf8e5c9d0e19dc7ad0a38e /fs/bcachefs/logged_ops.h | |
parent | b030e262b517b6bddc4bfa88ed8d335ef9de7671 (diff) | |
download | lwn-f3e374efbf1e32fc0235d44abc68abae06a8f7ab.tar.gz lwn-f3e374efbf1e32fc0235d44abc68abae06a8f7ab.zip |
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>
Diffstat (limited to 'fs/bcachefs/logged_ops.h')
-rw-r--r-- | fs/bcachefs/logged_ops.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/bcachefs/logged_ops.h b/fs/bcachefs/logged_ops.h index b2f2ebea54b6..4d1e786a27a8 100644 --- a/fs/bcachefs/logged_ops.h +++ b/fs/bcachefs/logged_ops.h @@ -5,7 +5,8 @@ #include "bkey.h" #define BCH_LOGGED_OPS() \ - x(truncate) + x(truncate) \ + x(finsert) static inline int bch2_logged_op_update(struct btree_trans *trans, struct bkey_i *op) { |