summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/bcachefs/fsck.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c
index 351de61c7ed1..881ad5b9447f 100644
--- a/fs/bcachefs/fsck.c
+++ b/fs/bcachefs/fsck.c
@@ -354,13 +354,12 @@ static int reattach_inode(struct btree_trans *trans,
if (ret)
return ret;
- if (S_ISDIR(inode->bi_mode)) {
- lostfound.bi_nlink++;
+ lostfound.bi_nlink += S_ISDIR(inode->bi_mode);
- ret = __bch2_fsck_write_inode(trans, &lostfound, U32_MAX);
- if (ret)
- return ret;
- }
+ /* ensure lost+found inode is also present in inode snapshot */
+ ret = __bch2_fsck_write_inode(trans, &lostfound, inode_snapshot);
+ if (ret)
+ return ret;
dir_hash = bch2_hash_info_init(c, &lostfound);