X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbootchart%2Fbootchart.c;h=b49e2c923503692fce3e2597589e260d68e00f9d;hb=8744505aaefad761cba0f0e5afaaf6bcec53906e;hp=f025c76fb646fa45e781c4944332155707ea427f;hpb=da927ba997d68401563b927f92e6e40e021a8e5c;p=elogind.git diff --git a/src/bootchart/bootchart.c b/src/bootchart/bootchart.c index f025c76fb..b49e2c923 100644 --- a/src/bootchart/bootchart.c +++ b/src/bootchart/bootchart.c @@ -76,7 +76,7 @@ int sysfd=-1; #define DEFAULT_HZ 25.0 #define DEFAULT_SCALE_X 100.0 /* 100px = 1sec */ #define DEFAULT_SCALE_Y 20.0 /* 16px = 1 process bar */ -#define DEFAULT_INIT "/sbin/init" +#define DEFAULT_INIT ROOTLIBDIR "/systemd/systemd" #define DEFAULT_OUTPUT "/run/log" /* graph defaults */ @@ -125,10 +125,9 @@ static void parse_conf(void) { { NULL, NULL, NULL, 0, NULL } }; - config_parse(NULL, BOOTCHART_CONF, NULL, - NULL, - config_item_table_lookup, items, - true, false, true, NULL); + config_parse_many(BOOTCHART_CONF, + CONF_DIRS_NULSTR("systemd/bootchart.conf"), + NULL, config_item_table_lookup, items, true, NULL); if (init != NULL) strscpy(arg_init_path, sizeof(arg_init_path), init); @@ -194,8 +193,8 @@ static int parse_argv(int argc, char *argv[]) { case 'f': r = safe_atod(optarg, &arg_hz); if (r < 0) - log_warning("failed to parse --freq/-f argument '%s': %s", - optarg, strerror(-r)); + log_warning_errno(r, "failed to parse --freq/-f argument '%s': %m", + optarg); break; case 'F': arg_filter = false; @@ -209,8 +208,8 @@ static int parse_argv(int argc, char *argv[]) { case 'n': r = safe_atoi(optarg, &arg_samples_len); if (r < 0) - log_warning("failed to parse --samples/-n argument '%s': %s", - optarg, strerror(-r)); + log_warning_errno(r, "failed to parse --samples/-n argument '%s': %m", + optarg); break; case 'o': path_kill_slashes(optarg); @@ -226,14 +225,14 @@ static int parse_argv(int argc, char *argv[]) { case 'x': r = safe_atod(optarg, &arg_scale_x); if (r < 0) - log_warning("failed to parse --scale-x/-x argument '%s': %s", - optarg, strerror(-r)); + log_warning_errno(r, "failed to parse --scale-x/-x argument '%s': %m", + optarg); break; case 'y': r = safe_atod(optarg, &arg_scale_y); if (r < 0) - log_warning("failed to parse --scale-y/-y argument '%s': %s", - optarg, strerror(-r)); + log_warning_errno(r, "failed to parse --scale-y/-y argument '%s': %m", + optarg); break; case 'e': arg_entropy = true; @@ -285,7 +284,7 @@ static void do_journal_append(char *file) { f = open(file, O_RDONLY|O_CLOEXEC); if (f < 0) { - log_error("Failed to read bootchart data: %m"); + log_error_errno(errno, "Failed to read bootchart data: %m"); return; } n = loop_read(f, p + 10, BOOTCHART_MAX, false); @@ -327,7 +326,7 @@ int main(int argc, char *argv[]) { /* * If the kernel executed us through init=/usr/lib/systemd/systemd-bootchart, then * fork: - * - parent execs executable specified via init_path[] (/sbin/init by default) as pid=1 + * - parent execs executable specified via init_path[] (/usr/lib/systemd/systemd by default) as pid=1 * - child logs data */ if (getpid() == 1) { @@ -434,7 +433,7 @@ int main(int argc, char *argv[]) { /* caught signal, probably HUP! */ break; } - log_error("nanosleep() failed: %m"); + log_error_errno(errno, "nanosleep() failed: %m"); exit(EXIT_FAILURE); } } else {