Loading init/reboot.cpp +14 −4 Original line number Diff line number Diff line Loading @@ -203,6 +203,7 @@ static void TurnOffBacklight() { } static Result<void> CallVdc(const std::string& system, const std::string& cmd) { LOG(INFO) << "Calling /system/bin/vdc " << system << " " << cmd; const char* vdc_argv[] = {"/system/bin/vdc", system.c_str(), cmd.c_str()}; int status; if (logwrap_fork_execvp(arraysize(vdc_argv), vdc_argv, &status, false, LOG_KLOG, true, Loading Loading @@ -456,10 +457,14 @@ static UmountStat TryUmountAndFsck(unsigned int cmd, bool run_fsck, #define ZRAM_RESET "/sys/block/zram0/reset" #define ZRAM_BACK_DEV "/sys/block/zram0/backing_dev" static Result<void> KillZramBackingDevice() { if (access(ZRAM_BACK_DEV, F_OK) != 0 && errno == ENOENT) { LOG(INFO) << "No zram backing device configured"; return {}; } std::string backing_dev; if (!android::base::ReadFileToString(ZRAM_BACK_DEV, &backing_dev)) return {}; if (!android::base::StartsWith(backing_dev, "/dev/block/loop")) return {}; if (!android::base::ReadFileToString(ZRAM_BACK_DEV, &backing_dev)) { return ErrnoError() << "Failed to read " << ZRAM_BACK_DEV; } // cut the last "\n" backing_dev.erase(backing_dev.length() - 1); Loading @@ -478,6 +483,11 @@ static Result<void> KillZramBackingDevice() { << " failed"; } if (!android::base::StartsWith(backing_dev, "/dev/block/loop")) { LOG(INFO) << backing_dev << " is not a loop device. Exiting early"; return {}; } // clear loopback device unique_fd loop(TEMP_FAILURE_RETRY(open(backing_dev.c_str(), O_RDWR | O_CLOEXEC))); if (loop.get() < 0) { Loading Loading
init/reboot.cpp +14 −4 Original line number Diff line number Diff line Loading @@ -203,6 +203,7 @@ static void TurnOffBacklight() { } static Result<void> CallVdc(const std::string& system, const std::string& cmd) { LOG(INFO) << "Calling /system/bin/vdc " << system << " " << cmd; const char* vdc_argv[] = {"/system/bin/vdc", system.c_str(), cmd.c_str()}; int status; if (logwrap_fork_execvp(arraysize(vdc_argv), vdc_argv, &status, false, LOG_KLOG, true, Loading Loading @@ -456,10 +457,14 @@ static UmountStat TryUmountAndFsck(unsigned int cmd, bool run_fsck, #define ZRAM_RESET "/sys/block/zram0/reset" #define ZRAM_BACK_DEV "/sys/block/zram0/backing_dev" static Result<void> KillZramBackingDevice() { if (access(ZRAM_BACK_DEV, F_OK) != 0 && errno == ENOENT) { LOG(INFO) << "No zram backing device configured"; return {}; } std::string backing_dev; if (!android::base::ReadFileToString(ZRAM_BACK_DEV, &backing_dev)) return {}; if (!android::base::StartsWith(backing_dev, "/dev/block/loop")) return {}; if (!android::base::ReadFileToString(ZRAM_BACK_DEV, &backing_dev)) { return ErrnoError() << "Failed to read " << ZRAM_BACK_DEV; } // cut the last "\n" backing_dev.erase(backing_dev.length() - 1); Loading @@ -478,6 +483,11 @@ static Result<void> KillZramBackingDevice() { << " failed"; } if (!android::base::StartsWith(backing_dev, "/dev/block/loop")) { LOG(INFO) << backing_dev << " is not a loop device. Exiting early"; return {}; } // clear loopback device unique_fd loop(TEMP_FAILURE_RETRY(open(backing_dev.c_str(), O_RDWR | O_CLOEXEC))); if (loop.get() < 0) { Loading