cmd_fsck: Fix check for running online fsck

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
Kent Overstreet 2024-05-29 18:01:59 -04:00
parent c3c7dacab2
commit 3016a7dbbd

View File

@ -227,6 +227,10 @@ int cmd_fsck(int argc, char *argv[])
darray_str devs = get_or_split_cmdline_devs(argc, argv); darray_str devs = get_or_split_cmdline_devs(argc, argv);
darray_for_each(devs, i)
if (dev_mounted(*i))
return fsck_online(*i);
int kernel_probed = kernel; int kernel_probed = kernel;
if (kernel_probed < 0) if (kernel_probed < 0)
kernel_probed = should_use_kernel_fsck(devs); kernel_probed = should_use_kernel_fsck(devs);
@ -259,10 +263,6 @@ userland_fsck:
if (ret) if (ret)
return ret; return ret;
darray_for_each(devs, i)
if (dev_mounted(*i))
return fsck_online(*i);
struct bch_fs *c = bch2_fs_open(devs.data, devs.nr, opts); struct bch_fs *c = bch2_fs_open(devs.data, devs.nr, opts);
if (IS_ERR(c)) if (IS_ERR(c))
exit(8); exit(8);