X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournal-vacuum.c;h=a367dc1bb9e2d30877af8c751784f287503165e5;hb=32a568fb90bf0a22a3007fa670305403a5d0bb72;hp=80723c47f06c5c7635cf3a55515f68dd32dab4b9;hpb=26d8ff04914a5208d029e899682cd314b7714bf0;p=elogind.git
diff --git a/src/journal/journal-vacuum.c b/src/journal/journal-vacuum.c
index 80723c47f..a367dc1bb 100644
--- a/src/journal/journal-vacuum.c
+++ b/src/journal/journal-vacuum.c
@@ -19,12 +19,9 @@
along with systemd; If not, see .
***/
-#include
#include
#include
-#include
#include
-#include
#include "journal-def.h"
#include "journal-file.h"
@@ -75,9 +72,8 @@ static void patch_realtime(
const struct stat *st,
unsigned long long *realtime) {
- usec_t x;
- uint64_t crtime;
_cleanup_free_ const char *path = NULL;
+ usec_t x, crtime;
/* The timestamp was determined by the file name, but let's
* see if the file might actually be older than the file name
@@ -112,10 +108,8 @@ static void patch_realtime(
if (!path)
return;
- if (getxattr(path, "user.crtime_usec", &crtime, sizeof(crtime)) == sizeof(crtime)) {
- crtime = le64toh(crtime);
-
- if (crtime > 0 && crtime != (uint64_t) -1 && crtime < *realtime)
+ if (path_getcrtime(path, &crtime) >= 0) {
+ if (crtime < *realtime)
*realtime = crtime;
}
}
@@ -275,7 +269,7 @@ int journal_directory_vacuum(
log_full(verbose ? LOG_INFO : LOG_DEBUG, "Deleted empty archived journal %s/%s (%s).", directory, p, format_bytes(sbytes, sizeof(sbytes), size));
freed += size;
} else if (errno != ENOENT)
- log_warning("Failed to delete empty archived journal %s/%s: %m", directory, p);
+ log_warning_errno(errno, "Failed to delete empty archived journal %s/%s: %m", directory, p);
free(p);
continue;
@@ -318,7 +312,7 @@ int journal_directory_vacuum(
sum = 0;
} else if (errno != ENOENT)
- log_warning("Failed to delete archived journal %s/%s: %m", directory, list[i].filename);
+ log_warning_errno(errno, "Failed to delete archived journal %s/%s: %m", directory, list[i].filename);
}
if (oldest_usec && i < n_list && (*oldest_usec == 0 || list[i].realtime < *oldest_usec))