From 14417a5d2ac04fc5d80c95d3aa31a27b1fc4a0b3 Mon Sep 17 00:00:00 2001 From: Ng Zhi An Date: Wed, 23 Jan 2019 13:52:48 -0800 Subject: [PATCH] Check that install file exists before unlink This will remove spurious error messages in logcat such as: 08-02 00:27:21.580 600 600 E /system/bin/recovery-persist: Failed to unlink /data/misc/recovery/last_install: No such file or directory since the install file doesn't exist in the first place. Bug: None Test: m Change-Id: Ifaa95729c50efae4e641286dfbe1718aceb5f50a --- recovery-persist.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recovery-persist.cpp b/recovery-persist.cpp index ebb42d22..e2a6699f 100644 --- a/recovery-persist.cpp +++ b/recovery-persist.cpp @@ -158,7 +158,7 @@ int main(int argc, char **argv) { // Collects and reports the non-a/b update metrics from last_install; and removes the file // to avoid duplicate report. report_metrics_from_last_install(LAST_INSTALL_FILE_IN_CACHE); - if (unlink(LAST_INSTALL_FILE_IN_CACHE) == -1) { + if (access(LAST_INSTALL_FILE_IN_CACHE, F_OK) && unlink(LAST_INSTALL_FILE_IN_CACHE) == -1) { PLOG(ERROR) << "Failed to unlink " << LAST_INSTALL_FILE_IN_CACHE; } @@ -182,7 +182,7 @@ int main(int argc, char **argv) { // /data/misc/recovery from pmsg. Looks for the sideload history only. if (!has_cache) { report_metrics_from_last_install(LAST_INSTALL_FILE); - if (unlink(LAST_INSTALL_FILE) == -1) { + if (access(LAST_INSTALL_FILE, F_OK) && unlink(LAST_INSTALL_FILE) == -1) { PLOG(ERROR) << "Failed to unlink " << LAST_INSTALL_FILE; } }