Loading fs/bcachefs/fsck.c +0 −9 Original line number Diff line number Diff line Loading @@ -1468,15 +1468,6 @@ int bch2_fsck_full(struct bch_fs *c) check_inode_nlinks(c, &lostfound_inode); } int bch2_fsck_inode_nlink(struct bch_fs *c) { struct bch_inode_unpacked root_inode, lostfound_inode; return check_root(c, &root_inode) ?: check_lostfound(c, &root_inode, &lostfound_inode) ?: check_inode_nlinks(c, &lostfound_inode); } int bch2_fsck_walk_inodes_only(struct bch_fs *c) { struct btree_trans trans; Loading fs/bcachefs/fsck.h +0 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ #define _BCACHEFS_FSCK_H int bch2_fsck_full(struct bch_fs *); int bch2_fsck_inode_nlink(struct bch_fs *); int bch2_fsck_walk_inodes_only(struct bch_fs *); #endif /* _BCACHEFS_FSCK_H */ fs/bcachefs/recovery.c +14 −19 Original line number Diff line number Diff line Loading @@ -1005,6 +1005,13 @@ int bch2_fs_recovery(struct bch_fs *c) } if (!c->sb.clean && !(c->sb.features & (1 << BCH_FEATURE_atomic_nlink))) { bch_info(c, "BCH_FEATURE_atomic_nlink not set and filesystem dirty, fsck required"); c->opts.fsck = true; c->opts.fix_errors = FSCK_OPT_YES; } if (!(c->sb.features & (1ULL << BCH_FEATURE_alloc_v2))) { bch_info(c, "alloc_v2 feature bit not set, fsck required"); c->opts.fsck = true; Loading Loading @@ -1181,16 +1188,14 @@ int bch2_fs_recovery(struct bch_fs *c) bch_verbose(c, "alloc write done"); } if (!c->sb.clean) { if (!(c->sb.features & (1 << BCH_FEATURE_atomic_nlink))) { bch_info(c, "checking inode link counts"); err = "error in recovery"; ret = bch2_fsck_inode_nlink(c); if (c->opts.fsck) { bch_info(c, "starting fsck"); err = "error in fsck"; ret = bch2_fsck_full(c); if (ret) goto err; bch_verbose(c, "check inodes done"); } else { bch_verbose(c, "fsck done"); } else if (!c->sb.clean) { bch_verbose(c, "checking for deleted inodes"); err = "error in recovery"; ret = bch2_fsck_walk_inodes_only(c); Loading @@ -1198,16 +1203,6 @@ int bch2_fs_recovery(struct bch_fs *c) goto err; bch_verbose(c, "check inodes done"); } } if (c->opts.fsck) { bch_info(c, "starting fsck"); err = "error in fsck"; ret = bch2_fsck_full(c); if (ret) goto err; bch_verbose(c, "fsck done"); } if (enabled_qtypes(c)) { bch_verbose(c, "reading quotas"); Loading Loading
fs/bcachefs/fsck.c +0 −9 Original line number Diff line number Diff line Loading @@ -1468,15 +1468,6 @@ int bch2_fsck_full(struct bch_fs *c) check_inode_nlinks(c, &lostfound_inode); } int bch2_fsck_inode_nlink(struct bch_fs *c) { struct bch_inode_unpacked root_inode, lostfound_inode; return check_root(c, &root_inode) ?: check_lostfound(c, &root_inode, &lostfound_inode) ?: check_inode_nlinks(c, &lostfound_inode); } int bch2_fsck_walk_inodes_only(struct bch_fs *c) { struct btree_trans trans; Loading
fs/bcachefs/fsck.h +0 −1 Original line number Diff line number Diff line Loading @@ -3,7 +3,6 @@ #define _BCACHEFS_FSCK_H int bch2_fsck_full(struct bch_fs *); int bch2_fsck_inode_nlink(struct bch_fs *); int bch2_fsck_walk_inodes_only(struct bch_fs *); #endif /* _BCACHEFS_FSCK_H */
fs/bcachefs/recovery.c +14 −19 Original line number Diff line number Diff line Loading @@ -1005,6 +1005,13 @@ int bch2_fs_recovery(struct bch_fs *c) } if (!c->sb.clean && !(c->sb.features & (1 << BCH_FEATURE_atomic_nlink))) { bch_info(c, "BCH_FEATURE_atomic_nlink not set and filesystem dirty, fsck required"); c->opts.fsck = true; c->opts.fix_errors = FSCK_OPT_YES; } if (!(c->sb.features & (1ULL << BCH_FEATURE_alloc_v2))) { bch_info(c, "alloc_v2 feature bit not set, fsck required"); c->opts.fsck = true; Loading Loading @@ -1181,16 +1188,14 @@ int bch2_fs_recovery(struct bch_fs *c) bch_verbose(c, "alloc write done"); } if (!c->sb.clean) { if (!(c->sb.features & (1 << BCH_FEATURE_atomic_nlink))) { bch_info(c, "checking inode link counts"); err = "error in recovery"; ret = bch2_fsck_inode_nlink(c); if (c->opts.fsck) { bch_info(c, "starting fsck"); err = "error in fsck"; ret = bch2_fsck_full(c); if (ret) goto err; bch_verbose(c, "check inodes done"); } else { bch_verbose(c, "fsck done"); } else if (!c->sb.clean) { bch_verbose(c, "checking for deleted inodes"); err = "error in recovery"; ret = bch2_fsck_walk_inodes_only(c); Loading @@ -1198,16 +1203,6 @@ int bch2_fs_recovery(struct bch_fs *c) goto err; bch_verbose(c, "check inodes done"); } } if (c->opts.fsck) { bch_info(c, "starting fsck"); err = "error in fsck"; ret = bch2_fsck_full(c); if (ret) goto err; bch_verbose(c, "fsck done"); } if (enabled_qtypes(c)) { bch_verbose(c, "reading quotas"); Loading