diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-09-28 23:14:53 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-09-28 23:14:53 +0000 |
commit | f0db8d044bbd06e824450e6673bacd8131a3c1f8 (patch) | |
tree | aa2283e7be1cbe00f83ff1dafc7ebe4050c522c8 | |
parent | 5b10c2272abee4fe4768927c5d4a33730cde02fc (diff) | |
parent | aebebeb92311f9867200238835eb0aced259a8b7 (diff) | |
download | core-android10-qpr1-b-s1-release.tar.gz |
Snap for 5907400 from aebebeb92311f9867200238835eb0aced259a8b7 to qt-qpr1-releaseandroid-10.0.0_r20android-10.0.0_r19android-10.0.0_r18android-10.0.0_r16android-10.0.0_r15android10-qpr1-c-s1-releaseandroid10-qpr1-b-s1-release
Change-Id: Idd42e02b47610b4cadfe10ba06af2396f57dc147
-rw-r--r-- | fs_mgr/fs_mgr.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/fs_mgr/fs_mgr.cpp b/fs_mgr/fs_mgr.cpp index f1ce1254a..f753f542f 100644 --- a/fs_mgr/fs_mgr.cpp +++ b/fs_mgr/fs_mgr.cpp @@ -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; |