Merge "Check that install file exists before unlink" am: 05d48050c1
am: a04ff295cf

Change-Id: I00c9323e3c774f25d4c746e439d8c50bb75935b6
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;
       }
     }