summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-03-15 02:59:10 +0100
committerLennart Poettering <lennart@poettering.net>2012-03-15 03:01:09 +0100
commita3a52c0fd0c2597bf8233730c3ed3408affe0c9f (patch)
treeb6ec0d37e4fbf064b3430824aeed87d24cb14e5d /src
parent15944db87130f9b58565023c46c22bd73b0b71be (diff)
journald: fix calculation of disk space
Diffstat (limited to 'src')
-rw-r--r--src/journal/journal-file.c2
-rw-r--r--src/journal/journald.c5
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;