diff options
Diffstat (limited to 'libbcachefs/bcachefs.h')
-rw-r--r-- | libbcachefs/bcachefs.h | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/libbcachefs/bcachefs.h b/libbcachefs/bcachefs.h index 4219c46c..4702b016 100644 --- a/libbcachefs/bcachefs.h +++ b/libbcachefs/bcachefs.h @@ -182,10 +182,10 @@ #include <linux/bio.h> #include <linux/closure.h> #include <linux/kobject.h> -#include <linux/lglock.h> #include <linux/list.h> #include <linux/mutex.h> #include <linux/percpu-refcount.h> +#include <linux/percpu-rwsem.h> #include <linux/rhashtable.h> #include <linux/rwsem.h> #include <linux/seqlock.h> @@ -302,21 +302,14 @@ enum bch_time_stats { #include "rebalance_types.h" #include "super_types.h" -/* - * Number of nodes we might have to allocate in a worst case btree split - * operation - we split all the way up to the root, then allocate a new root. - */ -#define btree_reserve_required_nodes(depth) (((depth) + 1) * 2 + 1) - /* Number of nodes btree coalesce will try to coalesce at once */ #define GC_MERGE_NODES 4U /* Maximum number of nodes we might need to allocate atomically: */ -#define BTREE_RESERVE_MAX \ - (btree_reserve_required_nodes(BTREE_MAX_DEPTH) + GC_MERGE_NODES) +#define BTREE_RESERVE_MAX (BTREE_MAX_DEPTH + (BTREE_MAX_DEPTH - 1)) /* Size of the freelist we allocate btree nodes from: */ -#define BTREE_NODE_RESERVE (BTREE_RESERVE_MAX * 4) +#define BTREE_NODE_RESERVE (BTREE_RESERVE_MAX * 4) struct btree; @@ -591,7 +584,7 @@ struct bch_fs { struct bch_fs_usage __percpu *usage_percpu; struct bch_fs_usage usage_cached; - struct lglock usage_lock; + struct percpu_rw_semaphore usage_lock; struct closure_waitlist freelist_wait; |