Merge "fs_mgr: run fsck.f2fs with -f option when full mount fails"
This commit is contained in:
commit
1d7f3b4f4e
1 changed files with 14 additions and 8 deletions
|
|
@ -245,11 +245,11 @@ static void check_fs(const std::string& blk_device, const std::string& fs_type,
|
|||
if (should_force_check(*fs_stat)) {
|
||||
ret = android_fork_execvp_ext(
|
||||
ARRAY_SIZE(e2fsck_forced_argv), const_cast<char**>(e2fsck_forced_argv), &status,
|
||||
true, LOG_KLOG | LOG_FILE, true, const_cast<char*>(FSCK_LOG_FILE), NULL, 0);
|
||||
true, LOG_KLOG | LOG_FILE, true, const_cast<char*>(FSCK_LOG_FILE), nullptr, 0);
|
||||
} else {
|
||||
ret = android_fork_execvp_ext(
|
||||
ARRAY_SIZE(e2fsck_argv), const_cast<char**>(e2fsck_argv), &status, true,
|
||||
LOG_KLOG | LOG_FILE, true, const_cast<char*>(FSCK_LOG_FILE), NULL, 0);
|
||||
LOG_KLOG | LOG_FILE, true, const_cast<char*>(FSCK_LOG_FILE), nullptr, 0);
|
||||
}
|
||||
|
||||
if (ret < 0) {
|
||||
|
|
@ -263,13 +263,19 @@ static void check_fs(const std::string& blk_device, const std::string& fs_type,
|
|||
}
|
||||
} else if (is_f2fs(fs_type)) {
|
||||
const char* f2fs_fsck_argv[] = {F2FS_FSCK_BIN, "-a", blk_device.c_str()};
|
||||
LINFO << "Running " << F2FS_FSCK_BIN << " -a " << realpath(blk_device);
|
||||
const char* f2fs_fsck_forced_argv[] = {F2FS_FSCK_BIN, "-f", blk_device.c_str()};
|
||||
|
||||
ret = android_fork_execvp_ext(ARRAY_SIZE(f2fs_fsck_argv),
|
||||
const_cast<char **>(f2fs_fsck_argv),
|
||||
&status, true, LOG_KLOG | LOG_FILE,
|
||||
true, const_cast<char *>(FSCK_LOG_FILE),
|
||||
NULL, 0);
|
||||
if (should_force_check(*fs_stat)) {
|
||||
LINFO << "Running " << F2FS_FSCK_BIN << " -f " << realpath(blk_device);
|
||||
ret = android_fork_execvp_ext(
|
||||
ARRAY_SIZE(f2fs_fsck_forced_argv), const_cast<char**>(f2fs_fsck_forced_argv), &status,
|
||||
true, LOG_KLOG | LOG_FILE, true, const_cast<char*>(FSCK_LOG_FILE), nullptr, 0);
|
||||
} else {
|
||||
LINFO << "Running " << F2FS_FSCK_BIN << " -a " << realpath(blk_device);
|
||||
ret = android_fork_execvp_ext(
|
||||
ARRAY_SIZE(f2fs_fsck_argv), const_cast<char**>(f2fs_fsck_argv), &status, true,
|
||||
LOG_KLOG | LOG_FILE, true, const_cast<char*>(FSCK_LOG_FILE), nullptr, 0);
|
||||
}
|
||||
if (ret < 0) {
|
||||
/* No need to check for error in fork, we can't really handle it now */
|
||||
LERROR << "Failed trying to run " << F2FS_FSCK_BIN;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue