mirror of
https://github.com/systemd/systemd.git
synced 2024-10-31 07:51:21 +03:00
journald: be a bit more verbose when vacuuming
Vacuuming behaviour is a bit confusing, and/or we have some bugs, so those additional messages should help to find out what's going on. Also, rotation of journal files shouldn't be happening too often, so the level of the messages is bumped to info, so that they'll be logged under normal operation.
This commit is contained in:
parent
33e74db266
commit
289f910e16
@ -223,8 +223,10 @@ static int fifo_process(Fifo *f) {
|
||||
assert(f);
|
||||
|
||||
errno = EIO;
|
||||
if ((l = read(f->fd, ((uint8_t*) &f->buffer) + f->bytes_read, sizeof(f->buffer) - f->bytes_read)) <= 0) {
|
||||
|
||||
l = read(f->fd,
|
||||
((uint8_t*) &f->buffer) + f->bytes_read,
|
||||
sizeof(f->buffer) - f->bytes_read);
|
||||
if (l <= 0) {
|
||||
if (errno == EAGAIN)
|
||||
return 0;
|
||||
|
||||
@ -372,8 +374,8 @@ static int process_event(Server *s, struct epoll_event *ev) {
|
||||
}
|
||||
|
||||
f = (Fifo*) ev->data.ptr;
|
||||
|
||||
if ((r = fifo_process(f)) < 0) {
|
||||
r = fifo_process(f);
|
||||
if (r < 0) {
|
||||
log_info("Got error on fifo: %s", strerror(-r));
|
||||
fifo_free(f);
|
||||
return r;
|
||||
|
@ -159,7 +159,7 @@ int journal_directory_vacuum(
|
||||
struct vacuum_info *list = NULL;
|
||||
unsigned n_list = 0, i;
|
||||
size_t n_allocated = 0;
|
||||
uint64_t sum = 0;
|
||||
uint64_t sum = 0, freed = 0;
|
||||
usec_t retention_limit = 0;
|
||||
|
||||
assert(directory);
|
||||
@ -267,13 +267,17 @@ int journal_directory_vacuum(
|
||||
continue;
|
||||
|
||||
if (journal_file_empty(dirfd(d), p)) {
|
||||
|
||||
/* Always vacuum empty non-online files. */
|
||||
|
||||
if (unlinkat(dirfd(d), p, 0) >= 0)
|
||||
log_debug("Deleted empty journal %s/%s.", directory, p);
|
||||
else if (errno != ENOENT)
|
||||
uint64_t size = 512UL * (uint64_t) st.st_blocks;
|
||||
|
||||
if (unlinkat(dirfd(d), p, 0) >= 0) {
|
||||
log_info("Deleted empty journal %s/%s (%"PRIu64" bytes).",
|
||||
directory, p, size);
|
||||
freed += size;
|
||||
} else if (errno != ENOENT)
|
||||
log_warning("Failed to delete %s/%s: %m", directory, p);
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -310,7 +314,9 @@ int journal_directory_vacuum(
|
||||
break;
|
||||
|
||||
if (unlinkat(dirfd(d), list[i].filename, 0) >= 0) {
|
||||
log_debug("Deleted archived journal %s/%s.", directory, list[i].filename);
|
||||
log_debug("Deleted archived journal %s/%s (%"PRIu64" bytes).",
|
||||
directory, list[i].filename, list[i].usage);
|
||||
freed += list[i].usage;
|
||||
|
||||
if (list[i].usage < sum)
|
||||
sum -= list[i].usage;
|
||||
@ -329,5 +335,7 @@ finish:
|
||||
free(list[i].filename);
|
||||
free(list);
|
||||
|
||||
log_info("Vacuuming done, freed %"PRIu64" bytes", freed);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
@ -1092,6 +1092,8 @@ int process_event(Server *s, struct epoll_event *ev) {
|
||||
}
|
||||
|
||||
if (sfsi.ssi_signo == SIGUSR1) {
|
||||
log_info("Received request to flush runtime journal from PID %"PRIu32,
|
||||
sfsi.ssi_pid);
|
||||
touch("/run/systemd/journal/flushed");
|
||||
server_flush_to_var(s);
|
||||
server_sync(s);
|
||||
@ -1099,6 +1101,8 @@ int process_event(Server *s, struct epoll_event *ev) {
|
||||
}
|
||||
|
||||
if (sfsi.ssi_signo == SIGUSR2) {
|
||||
log_info("Received request to rotate journal from PID %"PRIu32,
|
||||
sfsi.ssi_pid);
|
||||
server_rotate(s);
|
||||
server_vacuum(s);
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user