40 lines
1.6 KiB
Diff
40 lines
1.6 KiB
Diff
|
From 6dc2852c643df4aa2580d42fc2d268bea0c5f57b Mon Sep 17 00:00:00 2001
|
||
|
From: Lennart Poettering <lennart@poettering.net>
|
||
|
Date: Wed, 3 Sep 2014 19:00:21 +0200
|
||
|
Subject: [PATCH] base-file-system: always generate error messages locally
|
||
|
|
||
|
Functions either should generate error messages for everything they do
|
||
|
themselves, or for nothing and let the caller do it. But they certainly
|
||
|
shouldn't generate errors for some messages but not for others. Since
|
||
|
the function in this case is one that generates messages on its own, it
|
||
|
really should do that for everything, not just for some things, hence.
|
||
|
---
|
||
|
src/shared/base-filesystem.c | 7 ++++---
|
||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
|
||
|
index ba8b829ab3..4c65a495d3 100644
|
||
|
--- a/src/shared/base-filesystem.c
|
||
|
+++ b/src/shared/base-filesystem.c
|
||
|
@@ -58,16 +58,17 @@ int base_filesystem_create(const char *root) {
|
||
|
int r;
|
||
|
|
||
|
fd = open(root, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW);
|
||
|
- if (fd < 0)
|
||
|
+ if (fd < 0) {
|
||
|
+ log_error("Failed to open root file system: %m");
|
||
|
return -errno;
|
||
|
+ }
|
||
|
|
||
|
for (i = 0; i < ELEMENTSOF(table); i ++) {
|
||
|
if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
|
||
|
continue;
|
||
|
|
||
|
if (table[i].target) {
|
||
|
- const char *target = NULL;
|
||
|
- const char *s;
|
||
|
+ const char *target = NULL, *s;
|
||
|
|
||
|
/* check if one of the targets exists */
|
||
|
NULSTR_FOREACH(s, table[i].target) {
|