Fix vacuum logic error
The vacuum code used to stop vacuuming after one deletion, even when max_use was still exceeded. Also make usage a uint64_t, as the code already pretends it is one. Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
This commit is contained in:
committed by
Zbigniew Jędrzejewski-Szmek
parent
72536eb736
commit
6c142648aa
@@ -36,7 +36,7 @@
|
||||
#include "util.h"
|
||||
|
||||
struct vacuum_info {
|
||||
off_t usage;
|
||||
uint64_t usage;
|
||||
char *filename;
|
||||
|
||||
uint64_t realtime;
|
||||
@@ -293,7 +293,7 @@ int journal_directory_vacuum(
|
||||
if (unlinkat(dirfd(d), list[i].filename, 0) >= 0) {
|
||||
log_debug("Deleted archived journal %s/%s.", directory, list[i].filename);
|
||||
|
||||
if ((uint64_t) list[i].usage > sum)
|
||||
if (list[i].usage < sum)
|
||||
sum -= list[i].usage;
|
||||
else
|
||||
sum = 0;
|
||||
|
||||
Reference in New Issue
Block a user