summaryrefslogtreecommitdiff
path: root/fs/bcachefs/recovery_passes.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-03-12 06:11:46 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2024-04-03 21:44:18 +0300
commit4409b8081d1624af814a9cda781ad9cdda3973cb (patch)
tree22adb020d08b6c1d257465ab7c78bbeaa19df4cf /fs/bcachefs/recovery_passes.c
parentb268aa4e7fb8be3c50e25a09008fb2feed2cd345 (diff)
downloadlinux-4409b8081d1624af814a9cda781ad9cdda3973cb.tar.xz
bcachefs: Repair pass for scanning for btree nodes
If a btree root or interior btree node goes bad, we're going to lose a lot of data, unless we can recover the nodes that it pointed to by scanning. Fortunately btree node headers are fully self describing, and additionally the magic number is xored with the filesytem UUID, so we can do so safely. This implements the scanning - next patch will rework topology repair to make use of the found nodes. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/recovery_passes.c')
-rw-r--r--fs/bcachefs/recovery_passes.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/bcachefs/recovery_passes.c b/fs/bcachefs/recovery_passes.c
index b066c5155b74..cb501460d615 100644
--- a/fs/bcachefs/recovery_passes.c
+++ b/fs/bcachefs/recovery_passes.c
@@ -4,6 +4,7 @@
#include "alloc_background.h"
#include "backpointers.h"
#include "btree_gc.h"
+#include "btree_node_scan.h"
#include "ec.h"
#include "fsck.h"
#include "inode.h"