summaryrefslogtreecommitdiff
path: root/fs/bcachefs/recovery.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-03-04 19:06:26 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:08:55 -0400
commit7d6f07edc28c3c34bad7e6a92921e3fbf8c8dd4e (patch)
tree395f866b3f9dd9b2fb49923160c3fe12dfc495cb /fs/bcachefs/recovery.c
parent61a19ce4255abd1133d4e7cd64a6cfa40d1f37fa (diff)
downloadlwn-7d6f07edc28c3c34bad7e6a92921e3fbf8c8dd4e.tar.gz
lwn-7d6f07edc28c3c34bad7e6a92921e3fbf8c8dd4e.zip
bcachefs: Fix compat code for superblock
The bkey compat code wasn't being run for btree roots in the superblock clean section - this patch fixes it to use the journal entry validate code. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/recovery.c')
-rw-r--r--fs/bcachefs/recovery.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/bcachefs/recovery.c b/fs/bcachefs/recovery.c
index b68fcd1d19e4..11d4894b3d63 100644
--- a/fs/bcachefs/recovery.c
+++ b/fs/bcachefs/recovery.c
@@ -908,9 +908,11 @@ static struct bch_sb_field_clean *read_superblock_clean(struct bch_fs *c)
return ERR_PTR(-ENOMEM);
}
- if (le16_to_cpu(c->disk_sb.sb->version) <
- bcachefs_metadata_version_bkey_renumber)
- bch2_sb_clean_renumber(clean, READ);
+ ret = bch2_sb_clean_validate(c, clean, READ);
+ if (ret) {
+ mutex_unlock(&c->sb_lock);
+ return ERR_PTR(ret);
+ }
mutex_unlock(&c->sb_lock);