diff options
-rw-r--r-- | src/journal/journal-file.c | 2 | ||||
-rw-r--r-- | src/journal/journald.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index a784a3391b..41430f310d 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -2068,7 +2068,7 @@ int journal_directory_vacuum(const char *directory, uint64_t max_use, uint64_t m } list[n_list].filename = p; - list[n_list].usage = (uint64_t) st.st_blksize * (uint64_t) st.st_blocks; + list[n_list].usage = 512UL * (uint64_t) st.st_blocks; list[n_list].seqnum = seqnum; list[n_list].realtime = realtime; list[n_list].seqnum_id = seqnum_id; diff --git a/src/journal/journald.c b/src/journal/journald.c index fb298be758..ee270e79af 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -171,7 +171,10 @@ static uint64_t available_space(Server *s) { if (fstatat(dirfd(d), de->d_name, &st, AT_SYMLINK_NOFOLLOW) < 0) continue; - sum += (uint64_t) st.st_blocks * (uint64_t) st.st_blksize; + if (!S_ISREG(st.st_mode)) + continue; + + sum += (uint64_t) st.st_blocks * 512UL; } avail = sum >= m->max_use ? 0 : m->max_use - sum; |