diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-11-17 23:13:49 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-11-24 02:43:12 -0500 |
commit | 8a443d3ea1327fea5ac3be77d2e39ebe35bfe9cf (patch) | |
tree | 74f257252a4f1467c8e6a49e2ec93b48924c2595 /fs/bcachefs/bcachefs.h | |
parent | 63807d951803e422cea8bfb4fdd36f57de191ada (diff) | |
download | linux-stable-8a443d3ea1327fea5ac3be77d2e39ebe35bfe9cf.tar.gz linux-stable-8a443d3ea1327fea5ac3be77d2e39ebe35bfe9cf.tar.bz2 linux-stable-8a443d3ea1327fea5ac3be77d2e39ebe35bfe9cf.zip |
bcachefs: Proper refcounting for journal_keys
The btree iterator code overlays keys from the journal until journal
replay is finished; since we're now starting copygc/rebalance etc.
before replay is finished, this is multithreaded access and thus needs
refcounting.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/bcachefs.h')
-rw-r--r-- | fs/bcachefs/bcachefs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/bcachefs.h b/fs/bcachefs/bcachefs.h index 403aa3389fcc..e9d753b04a90 100644 --- a/fs/bcachefs/bcachefs.h +++ b/fs/bcachefs/bcachefs.h @@ -638,6 +638,8 @@ struct journal_keys { size_t gap; size_t nr; size_t size; + atomic_t ref; + bool initial_ref_held; }; struct btree_trans_buf { |