summaryrefslogtreecommitdiff
path: root/fs/bcachefs/logged_ops.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-09-10 23:42:30 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-23 00:10:12 +0300
commitb030e262b517b6bddc4bfa88ed8d335ef9de7671 (patch)
treeb0a1aea8f9773b926352e091f9d4a2c8ef31fcf5 /fs/bcachefs/logged_ops.c
parentaaad530ac6b1c836de4a29d227ab68be97e39a73 (diff)
downloadlinux-b030e262b517b6bddc4bfa88ed8d335ef9de7671.tar.xz
bcachefs: Log truncate operations
Previously, we guaranteed atomicity of truncate after unclean shutdown with the BCH_INODE_I_SIZE_DIRTY flag - which required a full scan of the inodes btree. Recently the deleted inodes btree was added so that we no longer have to scan for deleted inodes, but truncate was unfinished and that change left it broken. This patch uses the new logged operations btree to fix truncate atomicity; we now log an operation that can be replayed at the start of a truncate. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/logged_ops.c')
-rw-r--r--fs/bcachefs/logged_ops.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/bcachefs/logged_ops.c b/fs/bcachefs/logged_ops.c
index 28a0e7b33e49..e133c23ad51c 100644
--- a/fs/bcachefs/logged_ops.c
+++ b/fs/bcachefs/logged_ops.c
@@ -4,6 +4,7 @@
#include "bkey_buf.h"
#include "btree_update.h"
#include "error.h"
+#include "io_misc.h"
#include "logged_ops.h"
#include "super.h"