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
This commit is contained in:
Ng Zhi An 2019-01-23 13:52:48 -08:00
parent 4475f7330a
commit 14417a5d2a

View file

@ -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;
}
}