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
diff --git a/recovery-persist.cpp b/recovery-persist.cpp
index ebb42d2..e2a6699 100644
--- a/recovery-persist.cpp
+++ b/recovery-persist.cpp
@@ -158,7 +158,7 @@
// 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 @@
// /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;
}
}