summaryrefslogtreecommitdiff
path: root/fs/bcachefs/bcache.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2016-02-20 04:27:56 -0900
committerKent Overstreet <kent.overstreet@gmail.com>2016-08-28 19:16:16 -0800
commitaae4a1ff28578bbb1346deedfffd5152b5b2a49f (patch)
tree3a0bcc0e78f65dff676e18952f2cbc5a530c89a2 /fs/bcachefs/bcache.h
parent8257a6962f0ce690672fc228d220c82126a54f35 (diff)
rework allocator round robiningbcache-dev-wip
Diffstat (limited to 'fs/bcachefs/bcache.h')
-rw-r--r--fs/bcachefs/bcache.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/fs/bcachefs/bcache.h b/fs/bcachefs/bcache.h
index a6bbd38f4316..37237109299a 100644
--- a/fs/bcachefs/bcache.h
+++ b/fs/bcachefs/bcache.h
@@ -314,10 +314,17 @@ struct gc_pos {
unsigned level;
};
+struct cache_group_entry {
+ struct cache *dev;
+ u64 buckets_free;
+};
+
struct cache_group {
- seqcount_t lock;
+ struct mutex lock;
unsigned nr_devices;
- struct cache __rcu *devices[MAX_CACHES_PER_SET];
+ unsigned nr_devices_max;
+ unsigned next_alloc;
+ struct cache_group_entry *devices;
};
struct cache_member_cpu {