summaryrefslogtreecommitdiff
path: root/fs/bcachefs/buckets.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2022-01-05 06:32:09 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-23 00:09:22 +0300
commit21aec962dfec2df11694350e5b2d3a9a9c298e7d (patch)
treed30158f7891454d5789228e2d1c7e615d5e78cce /fs/bcachefs/buckets.h
parentf443fa66c98f012412b677afc4f7096ed24108de (diff)
downloadlinux-21aec962dfec2df11694350e5b2d3a9a9c298e7d.tar.xz
bcachefs: New data structure for buckets waiting on journal commit
Implement a hash table, using cuckoo hashing, for empty buckets that are waiting on a journal commit before they can be reused. This replaces the journal_seq field of bucket_mark, and is part of eventually getting rid of the in memory bucket array. We may need to make bch2_bucket_needs_journal_commit() lockless, pending profiling and testing. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Diffstat (limited to 'fs/bcachefs/buckets.h')
-rw-r--r--fs/bcachefs/buckets.h8
1 files changed, 0 insertions, 8 deletions
diff --git a/fs/bcachefs/buckets.h b/fs/bcachefs/buckets.h
index 6eeb95068b3b..4b5376684d2c 100644
--- a/fs/bcachefs/buckets.h
+++ b/fs/bcachefs/buckets.h
@@ -159,13 +159,6 @@ static inline bool is_available_bucket(struct bucket_mark mark)
return !mark.dirty_sectors && !mark.stripe;
}
-static inline bool bucket_needs_journal_commit(struct bucket_mark m,
- u16 last_seq_ondisk)
-{
- return m.journal_seq_valid &&
- ((s16) m.journal_seq - (s16) last_seq_ondisk > 0);
-}
-
/* Device usage: */
struct bch_dev_usage bch2_dev_usage_read(struct bch_dev *);
@@ -240,7 +233,6 @@ bch2_fs_usage_read_short(struct bch_fs *);
/* key/bucket marking: */
-void bch2_bucket_seq_cleanup(struct bch_fs *);
void bch2_fs_usage_initialize(struct bch_fs *);
void bch2_mark_alloc_bucket(struct bch_fs *, struct bch_dev *, size_t, bool);