]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/buckets_types.h
Update bcachefs sources to 7227ff07f14b Merge pull request #10 from modelrockettier...
[bcachefs-tools-debian] / libbcachefs / buckets_types.h
index 7cd8439a02273b1de465c576c86c08baf6ad4caf..6f7d3a23d2f09862456e4dba2f2cd1d1c87ef747 100644 (file)
@@ -1,12 +1,15 @@
 #ifndef _BUCKETS_TYPES_H
 #define _BUCKETS_TYPES_H
 
+#include "bcachefs_format.h"
 #include "util.h"
 
+#define BUCKET_JOURNAL_SEQ_BITS                16
+
 struct bucket_mark {
        union {
        struct {
-               u64             counter;
+               atomic64_t      v;
        };
 
        struct {
@@ -15,8 +18,7 @@ struct bucket_mark {
                                gen_valid:1,
                                owned_by_allocator:1,
                                nouse:1,
-                               journal_seq_valid:1,
-                               touched_this_mount:1;
+                               journal_seq_valid:1;
                u16             dirty_sectors;
                u16             cached_sectors;
 
@@ -32,12 +34,12 @@ struct bucket_mark {
 };
 
 struct bucket {
-       u16                             prio[2];
-
        union {
                struct bucket_mark      _mark;
                const struct bucket_mark mark;
        };
+
+       u16                             io_time[2];
 };
 
 struct bucket_array {
@@ -54,25 +56,20 @@ struct bch_dev_usage {
 
        /* _compressed_ sectors: */
        u64                     sectors[BCH_DATA_NR];
-};
-
-/* kill, switch to bch_data_type? */
-enum s_alloc {
-       S_META,
-       S_DIRTY,
-       S_ALLOC_NR,
+       u64                     sectors_fragmented;
 };
 
 struct bch_fs_usage {
        /* all fields are in units of 512 byte sectors: */
-       /* _uncompressed_ sectors: */
        u64                     online_reserved;
        u64                     available_cache;
 
        struct {
-               u64             data[S_ALLOC_NR];
+               u64             data[BCH_DATA_NR];
                u64             persistent_reserved;
-       }                       s[BCH_REPLICAS_MAX];
+       }                       replicas[BCH_REPLICAS_MAX];
+
+       u64                     buckets[BCH_DATA_NR];
 };
 
 /*
@@ -85,8 +82,9 @@ struct disk_reservation {
 };
 
 struct copygc_heap_entry {
+       u8                      gen;
+       u32                     sectors;
        u64                     offset;
-       struct bucket_mark      mark;
 };
 
 typedef HEAP(struct copygc_heap_entry) copygc_heap;