Bugfixes:
-* systemctl status *.path shows all logs, not only the ones since the unit is
- active
-
* check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
* swap units that are activated by one name but shown in the kernel under another are semi-broken
}
static int add_this_boot(sd_journal *j) {
- char match[9+32+1] = "_BOOT_ID=";
- sd_id128_t boot_id;
- int r;
-
- assert(j);
-
if (!arg_this_boot)
return 0;
- r = sd_id128_get_boot(&boot_id);
- if (r < 0) {
- log_error("Failed to get boot id: %s", strerror(-r));
- return r;
- }
-
- sd_id128_to_string(boot_id, match + 9);
- r = sd_journal_add_match(j, match, strlen(match));
- if (r < 0) {
- log_error("Failed to add match: %s", strerror(-r));
- return r;
- }
-
- r = sd_journal_add_conjunction(j);
- if (r < 0)
- return r;
-
- return 0;
+ return add_match_this_boot(j);
}
static int add_dmesg(sd_journal *j) {
return r;
}
- log_debug("File %s got added.", f->path);
+ log_debug("File %s added.", f->path);
check_network(j, f->fd);
hashmap_remove(j->files, f->path);
- log_debug("File %s got removed.", f->path);
+ log_debug("File %s removed.", f->path);
if (j->current_file == f) {
j->current_file = NULL;
path = NULL; /* avoid freeing in cleanup */
j->current_invalidate_counter ++;
- log_debug("Directory %s got added.", m->path);
+ log_debug("Directory %s added.", m->path);
} else if (m->is_root)
return 0;
j->current_invalidate_counter ++;
- log_debug("Root directory %s got added.", m->path);
+ log_debug("Root directory %s added.", m->path);
} else if (!m->is_root)
return 0;
hashmap_remove(j->directories_by_path, d->path);
if (d->is_root)
- log_debug("Root directory %s got removed.", d->path);
+ log_debug("Root directory %s removed.", d->path);
else
- log_debug("Directory %s got removed.", d->path);
+ log_debug("Directory %s removed.", d->path);
free(d->path);
free(d);
return r;
}
+int add_match_this_boot(sd_journal *j) {
+ char match[9+32+1] = "_BOOT_ID=";
+ sd_id128_t boot_id;
+ int r;
+
+ assert(j);
+
+ r = sd_id128_get_boot(&boot_id);
+ if (r < 0) {
+ log_error("Failed to get boot id: %s", strerror(-r));
+ return r;
+ }
+
+ sd_id128_to_string(boot_id, match + 9);
+ r = sd_journal_add_match(j, match, strlen(match));
+ if (r < 0) {
+ log_error("Failed to add match: %s", strerror(-r));
+ return r;
+ }
+
+ r = sd_journal_add_conjunction(j);
+ if (r < 0)
+ return r;
+
+ return 0;
+}
+
int show_journal_by_unit(
FILE *f,
const char *unit,
if (r < 0)
return r;
+ r = add_match_this_boot(j);
+ if (r < 0)
+ return r;
+
if (system)
r = add_matches_for_unit(j, unit);
else
if (r < 0)
return r;
+ log_debug("Journal filter: %s", journal_make_match_string(j));
+
r = show_journal(f, j, mode, n_columns, not_before, how_many, flags);
if (r < 0)
return r;
unsigned n_columns,
OutputFlags flags);
+int add_match_this_boot(sd_journal *j);
+
int add_matches_for_unit(
sd_journal *j,
const char *unit);