Add more debugging to installd
If a command to installd fails, it would be nice to know exactly why.
Log failures and the errno associated with the failures.
Change-Id: Ia3122675f243037c556d3a49d06da7e03b8c59f6
diff --git a/cmds/installd/utils.c b/cmds/installd/utils.c
index 555c19e..a5e4b5a 100644
--- a/cmds/installd/utils.c
+++ b/cmds/installd/utils.c
@@ -98,11 +98,13 @@
subfd = openat(dfd, name, O_RDONLY | O_DIRECTORY);
if (subfd < 0) {
+ LOGE("Couldn't openat %s: %s\n", name, strerror(errno));
result = -1;
continue;
}
subdir = fdopendir(subfd);
if (subdir == NULL) {
+ LOGE("Couldn't fdopendir %s: %s\n", name, strerror(errno));
close(subfd);
result = -1;
continue;
@@ -112,10 +114,12 @@
}
closedir(subdir);
if (unlinkat(dfd, name, AT_REMOVEDIR) < 0) {
+ LOGE("Couldn't unlinkat %s: %s\n", name, strerror(errno));
result = -1;
}
} else {
if (unlinkat(dfd, name, 0) < 0) {
+ LOGE("Couldn't unlinkat %s: %s\n", name, strerror(errno));
result = -1;
}
}
@@ -133,12 +137,14 @@
d = opendir(pathname);
if (d == NULL) {
+ LOGE("Couldn't opendir %s: %s\n", pathname, strerror(errno));
return -errno;
}
res = _delete_dir_contents(d, ignore);
closedir(d);
if (also_delete_dir) {
if (rmdir(pathname)) {
+ LOGE("Couldn't rmdir %s: %s\n", pathname, strerror(errno));
res = -1;
}
}
@@ -152,10 +158,12 @@
fd = openat(dfd, name, O_RDONLY | O_DIRECTORY);
if (fd < 0) {
+ LOGE("Couldn't openat %s: %s\n", name, strerror(errno));
return -1;
}
d = fdopendir(fd);
if (d == NULL) {
+ LOGE("Couldn't fdopendir %s: %s\n", name, strerror(errno));
close(fd);
return -1;
}