Deduplicate error string patterns (#37676)
I wanted to see if moving moving out constant string arguments our of error messages results in smaller binary sizes. Turns out it does, but the savings are not consistent. Sometimes we get a few kB in a single binary, sometimes there is no size change.
This commit is contained in:
@@ -41,7 +41,7 @@ static int clean_sysvipc_shm(uid_t delete_uid, gid_t delete_gid, bool rm) {
|
||||
if (errno == ENOENT)
|
||||
return 0;
|
||||
|
||||
return log_warning_errno(errno, "Failed to open /proc/sysvipc/shm: %m");
|
||||
return log_warning_errno(errno, "Failed to open %s: %m", "/proc/sysvipc/shm");
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
@@ -105,7 +105,7 @@ static int clean_sysvipc_sem(uid_t delete_uid, gid_t delete_gid, bool rm) {
|
||||
if (errno == ENOENT)
|
||||
return 0;
|
||||
|
||||
return log_warning_errno(errno, "Failed to open /proc/sysvipc/sem: %m");
|
||||
return log_warning_errno(errno, "Failed to open %s: %m", "/proc/sysvipc/sem");
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
@@ -164,7 +164,7 @@ static int clean_sysvipc_msg(uid_t delete_uid, gid_t delete_gid, bool rm) {
|
||||
if (errno == ENOENT)
|
||||
return 0;
|
||||
|
||||
return log_warning_errno(errno, "Failed to open /proc/sysvipc/msg: %m");
|
||||
return log_warning_errno(errno, "Failed to open %s: %m", "/proc/sysvipc/msg");
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
@@ -302,7 +302,7 @@ static int clean_posix_shm(uid_t uid, gid_t gid, bool rm) {
|
||||
if (errno == ENOENT)
|
||||
return 0;
|
||||
|
||||
return log_warning_errno(errno, "Failed to open /dev/shm: %m");
|
||||
return log_warning_errno(errno, "Failed to open %s: %m", "/dev/shm");
|
||||
}
|
||||
|
||||
return clean_posix_shm_internal("/dev/shm", dir, uid, gid, rm);
|
||||
@@ -317,7 +317,7 @@ static int clean_posix_mq(uid_t uid, gid_t gid, bool rm) {
|
||||
if (errno == ENOENT)
|
||||
return 0;
|
||||
|
||||
return log_warning_errno(errno, "Failed to open /dev/mqueue: %m");
|
||||
return log_warning_errno(errno, "Failed to open %s: %m", "/dev/mqueue");
|
||||
}
|
||||
|
||||
FOREACH_DIRENT_ALL(de, dir, goto fail) {
|
||||
|
||||
@@ -519,7 +519,7 @@ static int condition_test_firmware_devicetree_compatible(const char *dtcarg) {
|
||||
if (r < 0) {
|
||||
/* if the path doesn't exist it is incompatible */
|
||||
if (r != -ENOENT)
|
||||
log_debug_errno(r, "Failed to open() '%s', assuming machine is incompatible: %m", DTCOMPAT_FILE);
|
||||
log_debug_errno(r, "Failed to open '%s', assuming machine is incompatible: %m", DTCOMPAT_FILE);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -590,7 +590,7 @@ int _fork_agent(const char *name, char * const *argv, const int except[], size_t
|
||||
* stdin around. */
|
||||
fd = open_terminal("/dev/tty", stdin_is_tty ? O_WRONLY : (stdout_is_tty && stderr_is_tty) ? O_RDONLY : O_RDWR);
|
||||
if (fd < 0) {
|
||||
log_error_errno(fd, "Failed to open /dev/tty: %m");
|
||||
log_error_errno(fd, "Failed to open %s: %m", "/dev/tty");
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
@@ -257,7 +257,7 @@ static int read_swap_entries(SwapEntries *ret) {
|
||||
|
||||
f = fopen("/proc/swaps", "re");
|
||||
if (!f)
|
||||
return log_debug_errno(errno, "Failed to open /proc/swaps: %m");
|
||||
return log_debug_errno(errno, "Failed to open %s: %m", "/proc/swaps");
|
||||
|
||||
/* Remove header */
|
||||
(void) fscanf(f, "%*s %*s %*s %*s %*s\n");
|
||||
|
||||
@@ -235,7 +235,7 @@ static int killall(int sig, Set *pids, bool send_sighup) {
|
||||
|
||||
r = proc_dir_open(&dir);
|
||||
if (r < 0)
|
||||
return log_warning_errno(r, "Failed to open /proc/: %m");
|
||||
return log_warning_errno(r, "Failed to open %s: %m", "/proc/");
|
||||
|
||||
for (;;) {
|
||||
_cleanup_(pidref_done) PidRef pidref = PIDREF_NULL;
|
||||
|
||||
@@ -72,7 +72,7 @@ static int locale_context_load_conf(LocaleContext *c, LocaleLoadFlag flag) {
|
||||
if (fd == -ENOENT)
|
||||
return 0;
|
||||
if (fd < 0)
|
||||
return log_debug_errno(errno, "Failed to open /etc/locale.conf: %m");
|
||||
return log_debug_errno(errno, "Failed to open %s: %m", "/etc/locale.conf");
|
||||
|
||||
if (fstat(fd, &st) < 0)
|
||||
return log_debug_errno(errno, "Failed to stat /etc/locale.conf: %m");
|
||||
|
||||
@@ -146,7 +146,7 @@ int machine_id_setup(const char *root, sd_id128_t machine_id, MachineIdSetupFlag
|
||||
|
||||
r = chase("/etc/", root, CHASE_PREFIX_ROOT|CHASE_MKDIR_0755|CHASE_MUST_BE_DIRECTORY, &etc, &etc_fd);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to open '/etc/': %m");
|
||||
return log_error_errno(r, "Failed to open %s: %m", "/etc/");
|
||||
|
||||
etc_machine_id = path_join(etc, "machine-id");
|
||||
if (!etc_machine_id)
|
||||
@@ -251,7 +251,7 @@ int machine_id_setup(const char *root, sd_id128_t machine_id, MachineIdSetupFlag
|
||||
|
||||
r = chase("/run/", root, CHASE_PREFIX_ROOT|CHASE_MKDIR_0755|CHASE_MUST_BE_DIRECTORY, &run, &run_fd);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to open '/run/': %m");
|
||||
return log_error_errno(r, "Failed to open %s: %m", "/run/");
|
||||
|
||||
run_machine_id = path_join(run, "machine-id");
|
||||
if (!run_machine_id)
|
||||
@@ -269,7 +269,7 @@ int machine_id_setup(const char *root, sd_id128_t machine_id, MachineIdSetupFlag
|
||||
} else {
|
||||
r = chase("/run/machine-id", root, CHASE_PREFIX_ROOT|CHASE_MUST_BE_REGULAR, &run_machine_id, /* ret_fd= */ NULL);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to open '/run/machine-id': %m");
|
||||
return log_error_errno(r, "Failed to open %s: %m", "/run/machine-id");
|
||||
}
|
||||
|
||||
/* And now, let's mount it over */
|
||||
@@ -322,7 +322,7 @@ int machine_id_commit(const char *root) {
|
||||
_cleanup_free_ char *etc = NULL;
|
||||
r = chase("/etc/", root, CHASE_PREFIX_ROOT|CHASE_MUST_BE_DIRECTORY, &etc, &etc_fd);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to open /etc/: %m");
|
||||
return log_error_errno(r, "Failed to open %s: %m", "/etc/");
|
||||
|
||||
_cleanup_free_ char *etc_machine_id = path_join(etc, "machine-id");
|
||||
if (!etc_machine_id)
|
||||
@@ -370,7 +370,7 @@ int machine_id_commit(const char *root) {
|
||||
_cleanup_close_ int etc_fd_again = -EBADF;
|
||||
r = chase("/etc/", root, CHASE_PREFIX_ROOT|CHASE_MUST_BE_DIRECTORY, /* ret_path= */ NULL, &etc_fd_again);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to open /etc/: %m");
|
||||
return log_error_errno(r, "Failed to open %s: %m", "/etc/");
|
||||
|
||||
r = umountat_detach_verbose(LOG_ERR, etc_fd_again, "machine-id");
|
||||
if (r < 0)
|
||||
|
||||
@@ -45,7 +45,7 @@ int umount_recursive_full(const char *prefix, int flags, char **keep) {
|
||||
|
||||
f = fopen("/proc/self/mountinfo", "re"); /* Pin the file, in case we unmount /proc/ as part of the logic here */
|
||||
if (!f)
|
||||
return log_debug_errno(errno, "Failed to open /proc/self/mountinfo: %m");
|
||||
return log_debug_errno(errno, "Failed to open %s: %m", "/proc/self/mountinfo");
|
||||
|
||||
for (;;) {
|
||||
_cleanup_(mnt_free_tablep) struct libmnt_table *table = NULL;
|
||||
@@ -454,7 +454,7 @@ int bind_remount_one(const char *path, unsigned long new_flags, unsigned long fl
|
||||
|
||||
proc_self_mountinfo = fopen("/proc/self/mountinfo", "re");
|
||||
if (!proc_self_mountinfo)
|
||||
return log_debug_errno(errno, "Failed to open /proc/self/mountinfo: %m");
|
||||
return log_debug_errno(errno, "Failed to open %s: %m", "/proc/self/mountinfo");
|
||||
|
||||
return bind_remount_one_with_mountinfo(path, new_flags, flags_mask, proc_self_mountinfo);
|
||||
}
|
||||
|
||||
@@ -6029,7 +6029,7 @@ int tpm2_list_devices(bool legend, bool quiet) {
|
||||
|
||||
d = opendir("/sys/class/tpmrm");
|
||||
if (!d) {
|
||||
log_full_errno(errno == ENOENT ? LOG_DEBUG : LOG_ERR, errno, "Failed to open /sys/class/tpmrm: %m");
|
||||
log_full_errno(errno == ENOENT ? LOG_DEBUG : LOG_ERR, errno, "Failed to open %s: %m", "/sys/class/tpmrm");
|
||||
if (errno != ENOENT)
|
||||
return -errno;
|
||||
} else {
|
||||
@@ -6099,7 +6099,7 @@ int tpm2_find_device_auto(char **ret) {
|
||||
|
||||
d = opendir("/sys/class/tpmrm");
|
||||
if (!d) {
|
||||
log_debug_errno(errno, "Failed to open /sys/class/tpmrm: %m");
|
||||
log_debug_errno(errno, "Failed to open %s: %m", "/sys/class/tpmrm");
|
||||
if (errno != ENOENT)
|
||||
return -errno;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user