chiark / gitweb /
journal: add call to determine current journal file disk usage
[elogind.git] / src / journal / journal-file.c
index 79f759897a864377935fe2ed9caf09b1bea7a567..06de2acc50dc9d74317438c9b66ec789c3c1a82c 100644 (file)
@@ -490,7 +490,7 @@ static int journal_file_setup_data_hash_table(JournalFile *f) {
         if (s < DEFAULT_DATA_HASH_TABLE_SIZE)
                 s = DEFAULT_DATA_HASH_TABLE_SIZE;
 
-        log_info("Reserving %llu entries in hash table.", (unsigned long long) (s / sizeof(HashItem)));
+        log_debug("Reserving %llu entries in hash table.", (unsigned long long) (s / sizeof(HashItem)));
 
         r = journal_file_append_object(f,
                                        OBJECT_DATA_HASH_TABLE,
@@ -1906,6 +1906,8 @@ fail:
 void journal_file_print_header(JournalFile *f) {
         char a[33], b[33], c[33];
         char x[FORMAT_TIMESTAMP_MAX], y[FORMAT_TIMESTAMP_MAX];
+        struct stat st;
+        char bytes[FORMAT_BYTES_MAX];
 
         assert(f);
 
@@ -1970,6 +1972,9 @@ void journal_file_print_header(JournalFile *f) {
         if (JOURNAL_HEADER_CONTAINS(f->header, n_entry_arrays))
                 printf("Entry Array Objects: %llu\n",
                        (unsigned long long) le64toh(f->header->n_entry_arrays));
+
+        if (fstat(f->fd, &st) >= 0)
+                printf("Disk usage: %s\n", format_bytes(bytes, sizeof(bytes), (off_t) st.st_blocks * 512ULL));
 }
 
 int journal_file_open(
@@ -2386,11 +2391,11 @@ void journal_default_metrics(JournalMetrics *m, int fd) {
                         m->keep_free = DEFAULT_KEEP_FREE;
         }
 
-        log_info("Fixed max_use=%s max_size=%s min_size=%s keep_free=%s",
-                 format_bytes(a, sizeof(a), m->max_use),
-                 format_bytes(b, sizeof(b), m->max_size),
-                 format_bytes(c, sizeof(c), m->min_size),
-                 format_bytes(d, sizeof(d), m->keep_free));
+        log_debug("Fixed max_use=%s max_size=%s min_size=%s keep_free=%s",
+                  format_bytes(a, sizeof(a), m->max_use),
+                  format_bytes(b, sizeof(b), m->max_size),
+                  format_bytes(c, sizeof(c), m->min_size),
+                  format_bytes(d, sizeof(d), m->keep_free));
 }
 
 int journal_file_get_cutoff_realtime_usec(JournalFile *f, usec_t *from, usec_t *to) {