mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
bcachefs: Drop bch2_fsck_inode_nlink()
We've had BCH_FEATURE_atomic_nlink for quite some time, we can drop this now. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
b6d4f474e4
commit
3a14d58e7b
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
@ -1181,25 +1188,6 @@ use_clean:
|
||||
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 (ret)
|
||||
goto err;
|
||||
bch_verbose(c, "check inodes done");
|
||||
|
||||
} else {
|
||||
bch_verbose(c, "checking for deleted inodes");
|
||||
err = "error in recovery";
|
||||
ret = bch2_fsck_walk_inodes_only(c);
|
||||
if (ret)
|
||||
goto err;
|
||||
bch_verbose(c, "check inodes done");
|
||||
}
|
||||
}
|
||||
|
||||
if (c->opts.fsck) {
|
||||
bch_info(c, "starting fsck");
|
||||
err = "error in fsck";
|
||||
@ -1207,6 +1195,13 @@ use_clean:
|
||||
if (ret)
|
||||
goto err;
|
||||
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);
|
||||
if (ret)
|
||||
goto err;
|
||||
bch_verbose(c, "check inodes done");
|
||||
}
|
||||
|
||||
if (enabled_qtypes(c)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user