summaryrefslogtreecommitdiff
path: root/fs/bcachefs/bcachefs.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2020-11-02 23:51:33 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:08:46 -0400
commitb5e8a6992fb1195cb58cb79461ef50f474c27608 (patch)
tree36f50306eb535b2b1860fabaf41e87fc87a24a97 /fs/bcachefs/bcachefs.h
parentdf082b3a50e02bb8dfc583cea29ab94ab1a04692 (diff)
bcachefs: Improved inode create optimization
This shards new inodes into different btree nodes by using the processor ID for the high bits of the new inode number. Much faster than the previous inode create optimization - this also helps with sharding in the other btrees that index by inode number. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/bcachefs.h')
-rw-r--r--fs/bcachefs/bcachefs.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/bcachefs/bcachefs.h b/fs/bcachefs/bcachefs.h
index d56057f27e8f..c14117227dd7 100644
--- a/fs/bcachefs/bcachefs.h
+++ b/fs/bcachefs/bcachefs.h
@@ -814,11 +814,8 @@ mempool_t bio_bounce_pages;
struct mutex verify_lock;
#endif
- struct mutex inode_create_lock;
- unsigned unused_inodes_nr;
- u64 unused_inodes[64];
- u32 unused_inodes_gens[64];
- u64 unused_inode_hint;
+ u64 *unused_inode_hints;
+ unsigned inode_shard_bits;
/*
* A btree node on disk could have too many bsets for an iterator to fit