]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/journal_types.h
Update bcachefs sources to 2272c5f5b7 bcachefs: Mark stripe buckets with correct...
[bcachefs-tools-debian] / libbcachefs / journal_types.h
index c8729cb37f06808ecec9588ad9a159db124281f2..0e6bde669b3e6577b542a4243a11a061693ffc8c 100644 (file)
@@ -182,29 +182,32 @@ typedef DARRAY(u64)               darray_u64;
 /* Embedded in struct bch_fs */
 struct journal {
        /* Fastpath stuff up front: */
-
-       unsigned long           flags;
+       struct {
 
        union journal_res_state reservations;
        enum journal_watermark  watermark;
 
+       union journal_preres_state prereserved;
+
+       } __aligned(SMP_CACHE_BYTES);
+
+       unsigned long           flags;
+
        /* Max size of current journal entry */
        unsigned                cur_entry_u64s;
        unsigned                cur_entry_sectors;
 
+       /* Reserved space in journal entry to be used just prior to write */
+       unsigned                entry_u64s_reserved;
+
+
        /*
         * 0, or -ENOSPC if waiting on journal reclaim, or -EROFS if
         * insufficient devices:
         */
        enum journal_errors     cur_entry_error;
 
-       union journal_preres_state prereserved;
-
-       /* Reserved space in journal entry to be used just prior to write */
-       unsigned                entry_u64s_reserved;
-
        unsigned                buf_size_want;
-
        /*
         * We may queue up some things to be journalled (log messages) before
         * the journal has actually started - stash them here:
@@ -298,15 +301,15 @@ struct journal {
        u64                     nr_flush_writes;
        u64                     nr_noflush_writes;
 
-       struct time_stats       *flush_write_time;
-       struct time_stats       *noflush_write_time;
-       struct time_stats       *blocked_time;
-       struct time_stats       *flush_seq_time;
+       struct bch2_time_stats  *flush_write_time;
+       struct bch2_time_stats  *noflush_write_time;
+       struct bch2_time_stats  *blocked_time;
+       struct bch2_time_stats  *flush_seq_time;
 
 #ifdef CONFIG_DEBUG_LOCK_ALLOC
        struct lockdep_map      res_map;
 #endif
-};
+} __aligned(SMP_CACHE_BYTES);
 
 /*
  * Embedded in struct bch_dev. First three fields refer to the array of journal