Merge pull request #1820 from michich/errno-v2

[v2] treewide: treatment of errno and other cleanups
This commit is contained in:
Daniel Mack
2015-11-09 21:56:49 +01:00
45 changed files with 180 additions and 231 deletions
+17 -33
View File
@@ -1,48 +1,32 @@
@@
identifier r;
identifier log_LEVEL_errno =~ "^log_(debug|info|notice|warning|error|emergency)_errno$";
local idexpression r;
expression e;
@@
- r = -e;
- log_error_errno(e,
+ r = log_error_errno(e,
...);
+ r =
log_LEVEL_errno(e, ...);
@@
identifier r;
identifier log_LEVEL_errno =~ "^log_(debug|info|notice|warning|error|emergency)_errno$";
local idexpression r;
expression e;
@@
- log_error_errno(e,
+ r = log_error_errno(e,
...);
+ r =
log_LEVEL_errno(e, ...);
- r = -e;
@@
identifier r;
identifier log_LEVEL_errno =~ "^log_(debug|info|notice|warning|error|emergency)_errno$";
local idexpression r;
expression e;
@@
- r = log_error_errno(e,
+ return log_error_errno(e,
...);
- r =
+ return
log_LEVEL_errno(e, ...);
- return r;
@@
identifier r;
identifier log_LEVEL_errno =~ "^log_(debug|info|notice|warning|error|emergency)_errno$";
expression e;
@@
- r = -e;
- log_warning_errno(e,
+ r = log_warning_errno(e,
...);
@@
identifier r;
expression e;
@@
- log_warning_errno(e,
+ r = log_warning_errno(e,
...);
- r = -e;
@@
identifier r;
expression e;
@@
- r = log_warning_errno(e,
+ return log_warning_errno(e,
...);
- return r;
+ return
log_LEVEL_errno(e, ...);
- return -e;
+2 -4
View File
@@ -278,10 +278,8 @@ int drop_privileges(uid_t uid, gid_t gid, uint64_t keep_capabilities) {
assert(keep_capabilities & (1ULL << (i - 1)));
if (cap_set_flag(d, CAP_EFFECTIVE, j, bits, CAP_SET) < 0 ||
cap_set_flag(d, CAP_PERMITTED, j, bits, CAP_SET) < 0) {
log_error_errno(errno, "Failed to enable capabilities bits: %m");
return -errno;
}
cap_set_flag(d, CAP_PERMITTED, j, bits, CAP_SET) < 0)
return log_error_errno(errno, "Failed to enable capabilities bits: %m");
if (cap_set_proc(d) < 0)
return log_error_errno(errno, "Failed to increase capabilities: %m");
+6 -6
View File
@@ -445,7 +445,7 @@ static int write_to_syslog(
static int write_to_kmsg(
int level,
int error,
const char*file,
const char *file,
int line,
const char *func,
const char *object_field,
@@ -516,7 +516,7 @@ static int log_do_header(
static int write_to_journal(
int level,
int error,
const char*file,
const char *file,
int line,
const char *func,
const char *object_field,
@@ -650,7 +650,7 @@ int log_dump_internal(
int log_internalv(
int level,
int error,
const char*file,
const char *file,
int line,
const char *func,
const char *format,
@@ -677,7 +677,7 @@ int log_internalv(
int log_internal(
int level,
int error,
const char*file,
const char *file,
int line,
const char *func,
const char *format, ...) {
@@ -695,7 +695,7 @@ int log_internal(
int log_object_internalv(
int level,
int error,
const char*file,
const char *file,
int line,
const char *func,
const char *object_field,
@@ -739,7 +739,7 @@ int log_object_internalv(
int log_object_internal(
int level,
int error,
const char*file,
const char *file,
int line,
const char *func,
const char *object_field,
+1 -2
View File
@@ -94,8 +94,7 @@ static int apply_file(const char *path, bool ignore_enoent) {
if (feof(f))
break;
log_error_errno(errno, "Failed to read file '%s', ignoring: %m", path);
return -errno;
return log_error_errno(errno, "Failed to read file '%s', ignoring: %m", path);
}
p = strstrip(l);
+3 -2
View File
@@ -61,8 +61,9 @@ int hostname_setup(void) {
hn = "localhost";
}
if (sethostname_idempotent(hn) < 0)
return log_warning_errno(errno, "Failed to set hostname to <%s>: %m", hn);
r = sethostname_idempotent(hn);
if (r < 0)
return log_warning_errno(r, "Failed to set hostname to <%s>: %m", hn);
log_info("Set hostname to <%s>.", hn);
return 0;
+2 -4
View File
@@ -227,8 +227,7 @@ static int parse_dbus_fragments(const char *path, const char *type) {
if (errno == -ENOENT)
return 0;
log_error_errno(errno, "Failed to enumerate D-Bus activated services: %m");
return -errno;
return log_error_errno(errno, "Failed to enumerate D-Bus activated services: %m");
}
r = 0;
@@ -246,8 +245,7 @@ static int parse_dbus_fragments(const char *path, const char *type) {
return r;
fail:
log_error_errno(errno, "Failed to read D-Bus services directory: %m");
return -errno;
return log_error_errno(errno, "Failed to read D-Bus services directory: %m");
}
static int link_busnames_target(const char *units) {
+1 -2
View File
@@ -319,8 +319,7 @@ static int enumerate_dir(Hashmap *top, Hashmap *bottom, Hashmap *drops, const ch
if (errno == ENOENT)
return 0;
log_error_errno(errno, "Failed to open %s: %m", path);
return -errno;
return log_error_errno(errno, "Failed to open %s: %m", path);
}
for (;;) {
+3 -5
View File
@@ -554,8 +554,7 @@ static int process_root_password(void) {
if (!errno)
errno = EIO;
log_error_errno(errno, "Failed to find shadow entry for root: %m");
return -errno;
return log_error_errno(errno, "Failed to find shadow entry for root: %m");
}
r = write_root_shadow(etc_shadow, p);
@@ -590,10 +589,9 @@ static int process_root_password(void) {
item.sp_pwdp = crypt(arg_root_password, salt);
if (!item.sp_pwdp) {
if (!errno)
errno = -EINVAL;
errno = EINVAL;
log_error_errno(errno, "Failed to encrypt password: %m");
return -errno;
return log_error_errno(errno, "Failed to encrypt password: %m");
}
item.sp_lstchg = (long) (now(CLOCK_REALTIME) / USEC_PER_DAY);
+2 -4
View File
@@ -302,8 +302,7 @@ static int probe_and_add_mount(
if (!b) {
if (errno == 0)
return log_oom();
log_error_errno(errno, "Failed to allocate prober: %m");
return -errno;
return log_error_errno(errno, "Failed to allocate prober: %m");
}
blkid_probe_enable_superblocks(b, 1);
@@ -502,8 +501,7 @@ static int add_boot(const char *what) {
if (!b) {
if (errno == 0)
return log_oom();
log_error_errno(errno, "Failed to allocate prober: %m");
return -errno;
return log_error_errno(errno, "Failed to allocate prober: %m");
}
blkid_probe_enable_partitions(b, 1);
+2 -2
View File
@@ -199,7 +199,7 @@ static int raw_import_maybe_convert_qcow2(RawImport *i) {
r = chattr_fd(converted_fd, FS_NOCOW_FL, FS_NOCOW_FL);
if (r < 0)
log_warning_errno(errno, "Failed to set file attributes on %s: %m", t);
log_warning_errno(r, "Failed to set file attributes on %s: %m", t);
log_info("Unpacking QCOW2 file.");
@@ -287,7 +287,7 @@ static int raw_import_open_disk(RawImport *i) {
r = chattr_fd(i->output_fd, FS_NOCOW_FL, FS_NOCOW_FL);
if (r < 0)
log_warning_errno(errno, "Failed to set file attributes on %s: %m", i->temp_path);
log_warning_errno(r, "Failed to set file attributes on %s: %m", i->temp_path);
return 0;
}
+1 -1
View File
@@ -241,7 +241,7 @@ static int tar_import_fork_tar(TarImport *i) {
if (mkdir(i->temp_path, 0755) < 0)
return log_error_errno(errno, "Failed to create directory %s: %m", i->temp_path);
} else if (r < 0)
return log_error_errno(errno, "Failed to create subvolume %s: %m", i->temp_path);
return log_error_errno(r, "Failed to create subvolume %s: %m", i->temp_path);
else
(void) import_assign_pool_quota_and_warn(i->temp_path);
+5 -4
View File
@@ -244,7 +244,7 @@ static int raw_pull_maybe_convert_qcow2(RawPull *i) {
r = chattr_fd(converted_fd, FS_NOCOW_FL, FS_NOCOW_FL);
if (r < 0)
log_warning_errno(errno, "Failed to set file attributes on %s: %m", t);
log_warning_errno(r, "Failed to set file attributes on %s: %m", t);
log_info("Unpacking QCOW2 file.");
@@ -320,7 +320,7 @@ static int raw_pull_make_local_copy(RawPull *i) {
* writes. */
r = chattr_fd(dfd, FS_NOCOW_FL, FS_NOCOW_FL);
if (r < 0)
log_warning_errno(errno, "Failed to set file attributes on %s: %m", tp);
log_warning_errno(r, "Failed to set file attributes on %s: %m", tp);
r = copy_bytes(i->raw_job->disk_fd, dfd, (uint64_t) -1, true);
if (r < 0) {
@@ -335,8 +335,9 @@ static int raw_pull_make_local_copy(RawPull *i) {
r = rename(tp, p);
if (r < 0) {
r = log_error_errno(errno, "Failed to move writable image into place: %m");
unlink(tp);
return log_error_errno(errno, "Failed to move writable image into place: %m");
return r;
}
log_info("Created new local image '%s'.", i->local);
@@ -511,7 +512,7 @@ static int raw_pull_job_on_open_disk_raw(PullJob *j) {
r = chattr_fd(j->disk_fd, FS_NOCOW_FL, FS_NOCOW_FL);
if (r < 0)
log_warning_errno(errno, "Failed to set file attributes on %s: %m", i->temp_path);
log_warning_errno(r, "Failed to set file attributes on %s: %m", i->temp_path);
return 0;
}
+1 -1
View File
@@ -416,7 +416,7 @@ static int tar_pull_job_on_open_disk_tar(PullJob *j) {
if (mkdir(i->temp_path, 0755) < 0)
return log_error_errno(errno, "Failed to create directory %s: %m", i->temp_path);
} else if (r < 0)
return log_error_errno(errno, "Failed to create subvolume %s: %m", i->temp_path);
return log_error_errno(r, "Failed to create subvolume %s: %m", i->temp_path);
else
(void) import_assign_pool_quota_and_warn(i->temp_path);
+1 -2
View File
@@ -212,8 +212,7 @@ static int fifo_process(Fifo *f) {
if (errno == EAGAIN)
return 0;
log_warning_errno(errno, "Failed to read from fifo: %m");
return -errno;
return log_warning_errno(errno, "Failed to read from fifo: %m");
}
f->bytes_read += l;
+2 -2
View File
@@ -146,7 +146,7 @@ static int spawn_curl(const char* url) {
r = spawn_child("curl", argv);
if (r < 0)
log_error_errno(errno, "Failed to spawn curl: %m");
log_error_errno(r, "Failed to spawn curl: %m");
return r;
}
@@ -165,7 +165,7 @@ static int spawn_getter(const char *getter, const char *url) {
r = spawn_child(words[0], words);
if (r < 0)
log_error_errno(errno, "Failed to spawn getter %s: %m", getter);
log_error_errno(r, "Failed to spawn getter %s: %m", getter);
return r;
}
+18 -17
View File
@@ -208,7 +208,7 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) {
r = catalog_file_lang(path, &deflang);
if (r < 0)
log_error_errno(errno, "Failed to determine language for file %s: %m", path);
log_error_errno(r, "Failed to determine language for file %s: %m", path);
if (r == 1)
log_debug("File %s has language %s.", path, deflang);
@@ -221,8 +221,7 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) {
if (feof(f))
break;
log_error_errno(errno, "Failed to read file %s: %m", path);
return -errno;
return log_error_errno(errno, "Failed to read file %s: %m", path);
}
n++;
@@ -319,8 +318,8 @@ int catalog_import_file(Hashmap *h, struct strbuf *sb, const char *path) {
return 0;
}
static long write_catalog(const char *database, Hashmap *h, struct strbuf *sb,
CatalogItem *items, size_t n) {
static int64_t write_catalog(const char *database, struct strbuf *sb,
CatalogItem *items, size_t n) {
CatalogHeader header;
_cleanup_fclose_ FILE *w = NULL;
int r;
@@ -344,7 +343,7 @@ static long write_catalog(const char *database, Hashmap *h, struct strbuf *sb,
memcpy(header.signature, CATALOG_SIGNATURE, sizeof(header.signature));
header.header_size = htole64(ALIGN_TO(sizeof(CatalogHeader), 8));
header.catalog_item_size = htole64(sizeof(CatalogItem));
header.n_items = htole64(hashmap_size(h));
header.n_items = htole64(n);
r = -EIO;
@@ -379,7 +378,7 @@ static long write_catalog(const char *database, Hashmap *h, struct strbuf *sb,
goto error;
}
return ftell(w);
return ftello(w);
error:
(void) unlink(p);
@@ -395,7 +394,8 @@ int catalog_update(const char* database, const char* root, const char* const* di
CatalogItem *i;
Iterator j;
unsigned n;
long r;
int r;
int64_t sz;
h = hashmap_new(&catalog_hash_ops);
sb = strbuf_new();
@@ -445,18 +445,19 @@ int catalog_update(const char* database, const char* root, const char* const* di
assert(n == hashmap_size(h));
qsort_safe(items, n, sizeof(CatalogItem), catalog_compare_func);
r = write_catalog(database, h, sb, items, n);
if (r < 0)
log_error_errno(r, "Failed to write %s: %m", database);
else
log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
database, n, sb->len, r);
sz = write_catalog(database, sb, items, n);
if (sz < 0)
r = log_error_errno(sz, "Failed to write %s: %m", database);
else {
r = 0;
log_debug("%s: wrote %u items, with %zu bytes of strings, %"PRIi64" total size.",
database, n, sb->len, sz);
}
finish:
if (sb)
strbuf_cleanup(sb);
strbuf_cleanup(sb);
return r < 0 ? r : 0;
return r;
}
static int open_mmap(const char *database, int *_fd, struct stat *_st, void **_p) {
+7 -5
View File
@@ -139,6 +139,7 @@ static int fix_acl(int fd, uid_t uid) {
_cleanup_(acl_freep) acl_t acl = NULL;
acl_entry_t entry;
acl_permset_t permset;
int r;
assert(fd >= 0);
@@ -160,11 +161,12 @@ static int fix_acl(int fd, uid_t uid) {
}
if (acl_get_permset(entry, &permset) < 0 ||
acl_add_perm(permset, ACL_READ) < 0 ||
calc_acl_mask_if_needed(&acl) < 0) {
log_warning_errno(errno, "Failed to patch ACL: %m");
return -errno;
}
acl_add_perm(permset, ACL_READ) < 0)
return log_warning_errno(errno, "Failed to patch ACL: %m");
r = calc_acl_mask_if_needed(&acl);
if (r < 0)
return log_warning_errno(r, "Failed to patch ACL: %m");
if (acl_set_fd(fd, acl) < 0)
return log_error_errno(errno, "Failed to apply ACL: %m");
+2 -2
View File
@@ -617,7 +617,7 @@ static int save_core(sd_journal *j, int fd, char **path, bool *unlink_temp) {
fdt = mkostemp_safe(temp, O_WRONLY|O_CLOEXEC);
if (fdt < 0)
return log_error_errno(errno, "Failed to create temporary file: %m");
return log_error_errno(fdt, "Failed to create temporary file: %m");
log_debug("Created temporary file %s", temp);
fd = fdt;
@@ -776,7 +776,7 @@ static int run_gdb(sd_journal *j) {
r = wait_for_terminate(pid, &st);
if (r < 0) {
log_error_errno(errno, "Failed to wait for gdb: %m");
log_error_errno(r, "Failed to wait for gdb: %m");
goto finish;
}
+3 -3
View File
@@ -842,19 +842,19 @@ int journal_file_verify(
data_fd = open_tmpfile("/var/tmp", O_RDWR | O_CLOEXEC);
if (data_fd < 0) {
r = log_error_errno(errno, "Failed to create data file: %m");
r = log_error_errno(data_fd, "Failed to create data file: %m");
goto fail;
}
entry_fd = open_tmpfile("/var/tmp", O_RDWR | O_CLOEXEC);
if (entry_fd < 0) {
r = log_error_errno(errno, "Failed to create entry file: %m");
r = log_error_errno(entry_fd, "Failed to create entry file: %m");
goto fail;
}
entry_array_fd = open_tmpfile("/var/tmp", O_RDWR | O_CLOEXEC);
if (entry_array_fd < 0) {
r = log_error_errno(errno,
r = log_error_errno(entry_array_fd,
"Failed to create entry array file: %m");
goto fail;
}
+2 -2
View File
@@ -1483,7 +1483,7 @@ static int setup_keys(void) {
safe_close(fd);
fd = mkostemp_safe(k, O_WRONLY|O_CLOEXEC);
if (fd < 0) {
r = log_error_errno(errno, "Failed to open %s: %m", k);
r = log_error_errno(fd, "Failed to open %s: %m", k);
goto finish;
}
@@ -1491,7 +1491,7 @@ static int setup_keys(void) {
* writing and in-place updating */
r = chattr_fd(fd, FS_SECRM_FL|FS_NODUMP_FL|FS_SYNC_FL|FS_NOCOW_FL, FS_SECRM_FL|FS_NODUMP_FL|FS_SYNC_FL|FS_NOCOW_FL);
if (r < 0)
log_warning_errno(errno, "Failed to set file attributes: %m");
log_warning_errno(r, "Failed to set file attributes: %m");
zero(h);
memcpy(h.signature, "KSHHRHLP", 8);
+1 -1
View File
@@ -106,7 +106,7 @@ void server_forward_console(
fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC);
if (fd < 0) {
log_debug_errno(errno, "Failed to open %s for logging: %m", tty);
log_debug_errno(fd, "Failed to open %s for logging: %m", tty);
return;
}
+5 -4
View File
@@ -347,8 +347,7 @@ static int server_read_dev_kmsg(Server *s) {
if (errno == EAGAIN || errno == EINTR || errno == EPIPE)
return 0;
log_error_errno(errno, "Failed to read from kernel: %m");
return -errno;
return log_error_errno(errno, "Failed to read from kernel: %m");
}
dev_kmsg_record(s, buffer, l);
@@ -442,6 +441,7 @@ fail:
int server_open_kernel_seqnum(Server *s) {
_cleanup_close_ int fd;
uint64_t *p;
int r;
assert(s);
@@ -455,8 +455,9 @@ int server_open_kernel_seqnum(Server *s) {
return 0;
}
if (posix_fallocate(fd, 0, sizeof(uint64_t)) < 0) {
log_error_errno(errno, "Failed to allocate sequential number file, ignoring: %m");
r = posix_fallocate(fd, 0, sizeof(uint64_t));
if (r != 0) {
log_error_errno(r, "Failed to allocate sequential number file, ignoring: %m");
return 0;
}
+2 -2
View File
@@ -344,7 +344,7 @@ void server_process_native_file(
r = readlink_malloc(sl, &k);
if (r < 0) {
log_error_errno(errno, "readlink(%s) failed: %m", sl);
log_error_errno(r, "readlink(%s) failed: %m", sl);
return;
}
@@ -413,7 +413,7 @@ void server_process_native_file(
n = pread(fd, p, st.st_size, 0);
if (n < 0)
log_error_errno(n, "Failed to read file, ignoring: %m");
log_error_errno(errno, "Failed to read file, ignoring: %m");
else if (n > 0)
server_process_native_message(s, p, n, ucred, tv, label, label_len);
}
+7 -2
View File
@@ -240,12 +240,17 @@ void server_fix_perms(Server *s, JournalFile *f, uid_t uid) {
/* We do not recalculate the mask unconditionally here,
* so that the fchmod() mask above stays intact. */
if (acl_get_permset(entry, &permset) < 0 ||
acl_add_perm(permset, ACL_READ) < 0 ||
calc_acl_mask_if_needed(&acl) < 0) {
acl_add_perm(permset, ACL_READ) < 0) {
log_warning_errno(errno, "Failed to patch ACL on %s, ignoring: %m", f->path);
return;
}
r = calc_acl_mask_if_needed(&acl);
if (r < 0) {
log_warning_errno(r, "Failed to patch ACL on %s, ignoring: %m", f->path);
return;
}
if (acl_set_fd(f->fd, acl) < 0)
log_warning_errno(errno, "Failed to set ACL on %s, ignoring: %m", f->path);
+1 -2
View File
@@ -538,8 +538,7 @@ static int stdout_stream_new(sd_event_source *es, int listen_fd, uint32_t revent
if (errno == EAGAIN)
return 0;
log_error_errno(errno, "Failed to accept stdout connection: %m");
return -errno;
return log_error_errno(errno, "Failed to accept stdout connection: %m");
}
if (s->n_stdout_streams >= STDOUT_STREAMS_MAX) {
+6 -6
View File
@@ -951,19 +951,19 @@ int dhcp_lease_load(sd_dhcp_lease **ret, const char *lease_file) {
if (address) {
r = inet_pton(AF_INET, address, &lease->address);
if (r <= 0)
log_debug_errno(errno, "Failed to parse address %s, ignoring: %m", address);
log_debug("Failed to parse address %s, ignoring.", address);
}
if (router) {
r = inet_pton(AF_INET, router, &lease->router);
if (r <= 0)
log_debug_errno(errno, "Failed to parse router %s, ignoring: %m", router);
log_debug("Failed to parse router %s, ignoring.", router);
}
if (netmask) {
r = inet_pton(AF_INET, netmask, &lease->subnet_mask);
if (r <= 0)
log_debug_errno(errno, "Failed to parse netmask %s, ignoring: %m", netmask);
log_debug("Failed to parse netmask %s, ignoring.", netmask);
else
lease->have_subnet_mask = true;
}
@@ -971,19 +971,19 @@ int dhcp_lease_load(sd_dhcp_lease **ret, const char *lease_file) {
if (server_address) {
r = inet_pton(AF_INET, server_address, &lease->server_address);
if (r <= 0)
log_debug_errno(errno, "Failed to parse netmask %s, ignoring: %m", server_address);
log_debug("Failed to parse server address %s, ignoring.", server_address);
}
if (next_server) {
r = inet_pton(AF_INET, next_server, &lease->next_server);
if (r <= 0)
log_debug_errno(errno, "Failed to parse next server %s, ignoring: %m", next_server);
log_debug("Failed to parse next server %s, ignoring.", next_server);
}
if (broadcast) {
r = inet_pton(AF_INET, broadcast, &lease->broadcast);
if (r <= 0)
log_debug_errno(errno, "Failed to parse broadcast address %s, ignoring: %m", broadcast);
log_debug("Failed to parse broadcast address %s, ignoring.", broadcast);
else
lease->have_broadcast = true;
}
+2 -6
View File
@@ -584,12 +584,8 @@ static void resolve_free(sd_resolve *resolve) {
}
/* Now terminate them and wait until they are gone. */
for (i = 0; i < resolve->n_valid_workers; i++) {
for (;;) {
if (pthread_join(resolve->workers[i], NULL) != EINTR)
break;
}
}
for (i = 0; i < resolve->n_valid_workers; i++)
pthread_join(resolve->workers[i], NULL);
/* Close all communication channels */
for (i = 0; i < _FD_MAX; i++)
+2 -4
View File
@@ -414,10 +414,8 @@ _public_ int udev_monitor_enable_receiving(struct udev_monitor *udev_monitor)
if (err >= 0)
monitor_set_nl_address(udev_monitor);
else {
log_debug_errno(errno, "bind failed: %m");
return -errno;
}
else
return log_debug_errno(errno, "bind failed: %m");
/* enable receiving of sender credentials */
err = setsockopt(udev_monitor->sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on));
+1 -1
View File
@@ -996,7 +996,7 @@ static int session_open_vt(Session *s) {
sprintf(path, "/dev/tty%u", s->vtnr);
s->vtfd = open_terminal(path, O_RDWR | O_CLOEXEC | O_NONBLOCK | O_NOCTTY);
if (s->vtfd < 0)
return log_error_errno(errno, "cannot open VT %s of session %s: %m", path, s->id);
return log_error_errno(s->vtfd, "cannot open VT %s of session %s: %m", path, s->id);
return s->vtfd;
}
+6 -12
View File
@@ -297,8 +297,7 @@ static int manager_enumerate_seats(Manager *m) {
if (errno == ENOENT)
return 0;
log_error_errno(errno, "Failed to open /run/systemd/seats: %m");
return -errno;
return log_error_errno(errno, "Failed to open /run/systemd/seats: %m");
}
FOREACH_DIRENT(de, d, return -errno) {
@@ -334,8 +333,7 @@ static int manager_enumerate_linger_users(Manager *m) {
if (errno == ENOENT)
return 0;
log_error_errno(errno, "Failed to open /var/lib/systemd/linger/: %m");
return -errno;
return log_error_errno(errno, "Failed to open /var/lib/systemd/linger/: %m");
}
FOREACH_DIRENT(de, d, return -errno) {
@@ -370,8 +368,7 @@ static int manager_enumerate_users(Manager *m) {
if (errno == ENOENT)
return 0;
log_error_errno(errno, "Failed to open /run/systemd/users: %m");
return -errno;
return log_error_errno(errno, "Failed to open /run/systemd/users: %m");
}
FOREACH_DIRENT(de, d, return -errno) {
@@ -411,8 +408,7 @@ static int manager_enumerate_sessions(Manager *m) {
if (errno == ENOENT)
return 0;
log_error_errno(errno, "Failed to open /run/systemd/sessions: %m");
return -errno;
return log_error_errno(errno, "Failed to open /run/systemd/sessions: %m");
}
FOREACH_DIRENT(de, d, return -errno) {
@@ -458,8 +454,7 @@ static int manager_enumerate_inhibitors(Manager *m) {
if (errno == ENOENT)
return 0;
log_error_errno(errno, "Failed to open /run/systemd/inhibit: %m");
return -errno;
return log_error_errno(errno, "Failed to open /run/systemd/inhibit: %m");
}
FOREACH_DIRENT(de, d, return -errno) {
@@ -749,8 +744,7 @@ static int manager_connect_console(Manager *m) {
if (errno == ENOENT)
return 0;
log_error_errno(errno, "Failed to open /sys/class/tty/tty0/active: %m");
return -errno;
return log_error_errno(errno, "Failed to open /sys/class/tty/tty0/active: %m");
}
r = sd_event_add_io(m->event, &m->console_active_event_source, m->console_active_fd, 0, manager_dispatch_console, m);
+1 -2
View File
@@ -150,8 +150,7 @@ int manager_enumerate_machines(Manager *m) {
if (errno == ENOENT)
return 0;
log_error_errno(errno, "Failed to open /run/systemd/machines: %m");
return -errno;
return log_error_errno(errno, "Failed to open /run/systemd/machines: %m");
}
FOREACH_DIRENT(de, d, return -errno) {
+1 -2
View File
@@ -151,8 +151,7 @@ static int apply_file(struct kmod_ctx *ctx, const char *path, bool ignore_enoent
if (feof(f))
break;
log_error_errno(errno, "Failed to read file '%s', ignoring: %m", path);
return -errno;
return log_error_errno(errno, "Failed to read file '%s', ignoring: %m", path);
}
l = strstrip(line);
+1 -2
View File
@@ -441,8 +441,7 @@ static int mount_bind(const char *dest, CustomMount *m) {
if (r < 0)
return log_error_errno(r, "Failed to make parents of %s: %m", where);
} else {
log_error_errno(errno, "Failed to stat %s: %m", where);
return -errno;
return log_error_errno(errno, "Failed to stat %s: %m", where);
}
/* Create the mount point. Any non-directory file can be
+43 -48
View File
@@ -1182,6 +1182,7 @@ static int copy_devnodes(const char *dest) {
static int setup_pts(const char *dest) {
_cleanup_free_ char *options = NULL;
const char *p;
int r;
#ifdef HAVE_SELINUX
if (arg_selinux_apifs_context)
@@ -1204,20 +1205,23 @@ static int setup_pts(const char *dest) {
return log_error_errno(errno, "Failed to create /dev/pts: %m");
if (mount("devpts", p, "devpts", MS_NOSUID|MS_NOEXEC, options) < 0)
return log_error_errno(errno, "Failed to mount /dev/pts: %m");
if (userns_lchown(p, 0, 0) < 0)
return log_error_errno(errno, "Failed to chown /dev/pts: %m");
r = userns_lchown(p, 0, 0);
if (r < 0)
return log_error_errno(r, "Failed to chown /dev/pts: %m");
/* Create /dev/ptmx symlink */
p = prefix_roota(dest, "/dev/ptmx");
if (symlink("pts/ptmx", p) < 0)
return log_error_errno(errno, "Failed to create /dev/ptmx symlink: %m");
if (userns_lchown(p, 0, 0) < 0)
return log_error_errno(errno, "Failed to chown /dev/ptmx: %m");
r = userns_lchown(p, 0, 0);
if (r < 0)
return log_error_errno(r, "Failed to chown /dev/ptmx: %m");
/* And fix /dev/pts/ptmx ownership */
p = prefix_roota(dest, "/dev/pts/ptmx");
if (userns_lchown(p, 0, 0) < 0)
return log_error_errno(errno, "Failed to chown /dev/pts/ptmx: %m");
r = userns_lchown(p, 0, 0);
if (r < 0)
return log_error_errno(r, "Failed to chown /dev/pts/ptmx: %m");
return 0;
}
@@ -1399,7 +1403,7 @@ static int setup_journal(const char *directory) {
r = userns_mkdir(directory, p, 0755, 0, 0);
if (r < 0)
log_warning_errno(errno, "Failed to create directory %s: %m", q);
log_warning_errno(r, "Failed to create directory %s: %m", q);
return 0;
}
@@ -1413,15 +1417,11 @@ static int setup_journal(const char *directory) {
if (errno == ENOTDIR) {
log_error("%s already exists and is neither a symlink nor a directory", p);
return r;
} else {
log_error_errno(errno, "Failed to remove %s: %m", p);
return -errno;
}
} else
return log_error_errno(errno, "Failed to remove %s: %m", p);
}
} else if (r != -ENOENT) {
log_error_errno(errno, "readlink(%s) failed: %m", p);
return r;
}
} else if (r != -ENOENT)
return log_error_errno(r, "readlink(%s) failed: %m", p);
if (arg_link_journal == LINK_GUEST) {
@@ -1429,15 +1429,13 @@ static int setup_journal(const char *directory) {
if (arg_link_journal_try) {
log_debug_errno(errno, "Failed to symlink %s to %s, skipping journal setup: %m", q, p);
return 0;
} else {
log_error_errno(errno, "Failed to symlink %s to %s: %m", q, p);
return -errno;
}
} else
return log_error_errno(errno, "Failed to symlink %s to %s: %m", q, p);
}
r = userns_mkdir(directory, p, 0755, 0, 0);
if (r < 0)
log_warning_errno(errno, "Failed to create directory %s: %m", q);
log_warning_errno(r, "Failed to create directory %s: %m", q);
return 0;
}
@@ -1449,10 +1447,8 @@ static int setup_journal(const char *directory) {
if (arg_link_journal_try) {
log_debug_errno(errno, "Failed to create %s, skipping journal setup: %m", p);
return 0;
} else {
log_error_errno(errno, "Failed to create %s: %m", p);
return r;
}
} else
return log_error_errno(errno, "Failed to create %s: %m", p);
}
} else if (access(p, F_OK) < 0)
@@ -1462,10 +1458,8 @@ static int setup_journal(const char *directory) {
log_warning("%s is not empty, proceeding anyway.", q);
r = userns_mkdir(directory, p, 0755, 0, 0);
if (r < 0) {
log_error_errno(errno, "Failed to create %s: %m", q);
return r;
}
if (r < 0)
return log_error_errno(r, "Failed to create %s: %m", q);
if (mount(p, q, NULL, MS_BIND, NULL) < 0)
return log_error_errno(errno, "Failed to bind mount journal from host into guest: %m");
@@ -1606,20 +1600,24 @@ finish:
static int setup_propagate(const char *root) {
const char *p, *q;
int r;
(void) mkdir_p("/run/systemd/nspawn/", 0755);
(void) mkdir_p("/run/systemd/nspawn/propagate", 0600);
p = strjoina("/run/systemd/nspawn/propagate/", arg_machine);
(void) mkdir_p(p, 0600);
if (userns_mkdir(root, "/run/systemd", 0755, 0, 0) < 0)
return log_error_errno(errno, "Failed to create /run/systemd: %m");
r = userns_mkdir(root, "/run/systemd", 0755, 0, 0);
if (r < 0)
return log_error_errno(r, "Failed to create /run/systemd: %m");
if (userns_mkdir(root, "/run/systemd/nspawn", 0755, 0, 0) < 0)
return log_error_errno(errno, "Failed to create /run/systemd/nspawn: %m");
r = userns_mkdir(root, "/run/systemd/nspawn", 0755, 0, 0);
if (r < 0)
return log_error_errno(r, "Failed to create /run/systemd/nspawn: %m");
if (userns_mkdir(root, "/run/systemd/nspawn/incoming", 0600, 0, 0) < 0)
return log_error_errno(errno, "Failed to create /run/systemd/nspawn/incoming: %m");
r = userns_mkdir(root, "/run/systemd/nspawn/incoming", 0600, 0, 0);
if (r < 0)
return log_error_errno(r, "Failed to create /run/systemd/nspawn/incoming: %m");
q = prefix_roota(root, "/run/systemd/nspawn/incoming");
if (mount(p, q, NULL, MS_BIND, NULL) < 0)
@@ -1669,7 +1667,7 @@ static int setup_image(char **device_path, int *loop_nr) {
}
if (!S_ISREG(st.st_mode)) {
log_error_errno(errno, "%s is not a regular file or block device: %m", arg_image);
log_error("%s is not a regular file or block device.", arg_image);
return -EINVAL;
}
@@ -1761,8 +1759,7 @@ static int dissect_image(
if (errno == 0)
return log_oom();
log_error_errno(errno, "Failed to set device on blkid probe: %m");
return -errno;
return log_error_errno(errno, "Failed to set device on blkid probe: %m");
}
blkid_probe_enable_partitions(b, 1);
@@ -1778,8 +1775,7 @@ static int dissect_image(
} else if (r != 0) {
if (errno == 0)
errno = EIO;
log_error_errno(errno, "Failed to probe: %m");
return -errno;
return log_error_errno(errno, "Failed to probe: %m");
}
(void) blkid_probe_lookup_value(b, "PTTYPE", &pttype, NULL);
@@ -1902,8 +1898,7 @@ static int dissect_image(
if (!errno)
errno = ENOMEM;
log_error_errno(errno, "Failed to get partition device of %s: %m", arg_image);
return -errno;
return log_error_errno(errno, "Failed to get partition device of %s: %m", arg_image);
}
qn = udev_device_get_devnum(q);
@@ -2110,8 +2105,7 @@ static int mount_device(const char *what, const char *where, const char *directo
if (!b) {
if (errno == 0)
return log_oom();
log_error_errno(errno, "Failed to allocate prober for %s: %m", what);
return -errno;
return log_error_errno(errno, "Failed to allocate prober for %s: %m", what);
}
blkid_probe_enable_superblocks(b, 1);
@@ -2125,8 +2119,7 @@ static int mount_device(const char *what, const char *where, const char *directo
} else if (r != 0) {
if (errno == 0)
errno = EIO;
log_error_errno(errno, "Failed to probe %s: %m", what);
return -errno;
return log_error_errno(errno, "Failed to probe %s: %m", what);
}
errno = 0;
@@ -2490,8 +2483,9 @@ static int inner_child(
rtnl_socket = safe_close(rtnl_socket);
}
if (drop_capabilities() < 0)
return log_error_errno(errno, "drop_capabilities() failed: %m");
r = drop_capabilities();
if (r < 0)
return log_error_errno(r, "drop_capabilities() failed: %m");
setup_hostname();
@@ -2594,8 +2588,9 @@ static int inner_child(
execle("/bin/sh", "-sh", NULL, env_use);
}
r = -errno;
(void) log_open();
return log_error_errno(errno, "execv() failed: %m");
return log_error_errno(r, "execv() failed: %m");
}
static int outer_child(
+1 -2
View File
@@ -62,8 +62,7 @@ static int add_symlink(const char *service, const char *where) {
if (errno == EEXIST)
return 0;
log_error_errno(errno, "Failed to create symlink %s: %m", to);
return -errno;
return log_error_errno(errno, "Failed to create symlink %s: %m", to);
}
return 1;
+1 -1
View File
@@ -472,7 +472,7 @@ int ask_password_agent(
fd = mkostemp_safe(temp, O_WRONLY|O_CLOEXEC);
if (fd < 0) {
r = -errno;
r = fd;
goto finish;
}
+9 -18
View File
@@ -48,8 +48,7 @@ static int clean_sysvipc_shm(uid_t delete_uid) {
if (errno == ENOENT)
return 0;
log_warning_errno(errno, "Failed to open /proc/sysvipc/shm: %m");
return -errno;
return log_warning_errno(errno, "Failed to open /proc/sysvipc/shm: %m");
}
FOREACH_LINE(line, f, goto fail) {
@@ -91,8 +90,7 @@ static int clean_sysvipc_shm(uid_t delete_uid) {
return ret;
fail:
log_warning_errno(errno, "Failed to read /proc/sysvipc/shm: %m");
return -errno;
return log_warning_errno(errno, "Failed to read /proc/sysvipc/shm: %m");
}
static int clean_sysvipc_sem(uid_t delete_uid) {
@@ -106,8 +104,7 @@ static int clean_sysvipc_sem(uid_t delete_uid) {
if (errno == ENOENT)
return 0;
log_warning_errno(errno, "Failed to open /proc/sysvipc/sem: %m");
return -errno;
return log_warning_errno(errno, "Failed to open /proc/sysvipc/sem: %m");
}
FOREACH_LINE(line, f, goto fail) {
@@ -144,8 +141,7 @@ static int clean_sysvipc_sem(uid_t delete_uid) {
return ret;
fail:
log_warning_errno(errno, "Failed to read /proc/sysvipc/sem: %m");
return -errno;
return log_warning_errno(errno, "Failed to read /proc/sysvipc/sem: %m");
}
static int clean_sysvipc_msg(uid_t delete_uid) {
@@ -159,8 +155,7 @@ static int clean_sysvipc_msg(uid_t delete_uid) {
if (errno == ENOENT)
return 0;
log_warning_errno(errno, "Failed to open /proc/sysvipc/msg: %m");
return -errno;
return log_warning_errno(errno, "Failed to open /proc/sysvipc/msg: %m");
}
FOREACH_LINE(line, f, goto fail) {
@@ -198,8 +193,7 @@ static int clean_sysvipc_msg(uid_t delete_uid) {
return ret;
fail:
log_warning_errno(errno, "Failed to read /proc/sysvipc/msg: %m");
return -errno;
return log_warning_errno(errno, "Failed to read /proc/sysvipc/msg: %m");
}
static int clean_posix_shm_internal(DIR *dir, uid_t uid) {
@@ -277,8 +271,7 @@ static int clean_posix_shm(uid_t uid) {
if (errno == ENOENT)
return 0;
log_warning_errno(errno, "Failed to open /dev/shm: %m");
return -errno;
return log_warning_errno(errno, "Failed to open /dev/shm: %m");
}
return clean_posix_shm_internal(dir, uid);
@@ -294,8 +287,7 @@ static int clean_posix_mq(uid_t uid) {
if (errno == ENOENT)
return 0;
log_warning_errno(errno, "Failed to open /dev/mqueue: %m");
return -errno;
return log_warning_errno(errno, "Failed to open /dev/mqueue: %m");
}
FOREACH_DIRENT(de, dir, goto fail) {
@@ -334,8 +326,7 @@ static int clean_posix_mq(uid_t uid) {
return ret;
fail:
log_warning_errno(errno, "Failed to read /dev/mqueue: %m");
return -errno;
return log_warning_errno(errno, "Failed to read /dev/mqueue: %m");
}
int clean_ipc(uid_t uid) {
+1 -2
View File
@@ -88,8 +88,7 @@ static int parse_file(Hashmap *sysctl_options, const char *path, bool ignore_eno
if (feof(f))
break;
log_error_errno(errno, "Failed to read file '%s', ignoring: %m", path);
return -errno;
return log_error_errno(errno, "Failed to read file '%s', ignoring: %m", path);
}
p = strstrip(l);
+2 -2
View File
@@ -370,7 +370,7 @@ static int manager_adjust_clock(Manager *m, double offset, int leap_sec) {
r = clock_adjtime(CLOCK_REALTIME, &tmx);
if (r < 0)
return r;
return -errno;
touch("/var/lib/systemd/clock");
@@ -667,7 +667,7 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
m->sync = true;
r = manager_adjust_clock(m, offset, leap_sec);
if (r < 0)
log_error_errno(errno, "Failed to call clock_adjtime(): %m");
log_error_errno(r, "Failed to call clock_adjtime(): %m");
}
log_debug("interval/delta/delay/jitter/drift " USEC_FMT "s/%+.3fs/%.3fs/%.3fs/%+ippm%s",
@@ -475,7 +475,7 @@ static int show_passwords(void) {
if (errno == ENOENT)
return 0;
return log_error_errno(errno, "Failed top open /run/systemd/ask-password: %m");
return log_error_errno(errno, "Failed to open /run/systemd/ask-password: %m");
}
FOREACH_DIRENT_ALL(de, d, return log_error_errno(errno, "Failed to read directory: %m")) {
+1 -1
View File
@@ -58,7 +58,7 @@ static int builtin_uaccess(struct udev_device *dev, int argc, char *argv[], bool
r = devnode_acl(path, true, false, 0, true, uid);
if (r < 0) {
log_full_errno(errno == ENOENT ? LOG_DEBUG : LOG_ERR, r, "Failed to apply ACL on %s: %m", path);
log_full_errno(r == -ENOENT ? LOG_DEBUG : LOG_ERR, r, "Failed to apply ACL on %s: %m", path);
goto finish;
}
+1 -3
View File
@@ -441,9 +441,7 @@ static int spawn_exec(struct udev_event *event,
execve(argv[0], argv, envp);
/* exec failed */
log_error_errno(errno, "failed to execute '%s' '%s': %m", argv[0], cmd);
return -errno;
return log_error_errno(errno, "failed to execute '%s' '%s': %m", argv[0], cmd);
}
static void spawn_read(struct udev_event *event,
+1 -2
View File
@@ -263,8 +263,7 @@ static int node_permissions_apply(struct udev_device *dev, bool apply,
mode |= S_IFCHR;
if (lstat(devnode, &stats) != 0) {
err = -errno;
log_debug_errno(errno, "can not stat() node '%s' (%m)", devnode);
err = log_debug_errno(errno, "can not stat() node '%s' (%m)", devnode);
goto out;
}
+1 -1
View File
@@ -1558,7 +1558,7 @@ static int manager_new(Manager **ret, int fd_ctrl, int fd_uevent, const char *cg
r = sd_event_default(&manager->event);
if (r < 0)
return log_error_errno(errno, "could not allocate event loop: %m");
return log_error_errno(r, "could not allocate event loop: %m");
r = sd_event_add_signal(manager->event, NULL, SIGINT, on_sigterm, manager);
if (r < 0)
+1 -1
View File
@@ -275,7 +275,7 @@ int main(int argc, char **argv) {
fd = open_terminal(vc, O_RDWR|O_CLOEXEC);
if (fd < 0) {
log_error_errno(errno, "Failed to open %s: %m", vc);
log_error_errno(fd, "Failed to open %s: %m", vc);
return EXIT_FAILURE;
}