diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-06-16 22:56:42 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-23 00:10:02 +0300 |
commit | 32913f49f54f0cf9ccf581e3abd2d1fc6ba4debf (patch) | |
tree | af06267093004fd58dc0e639842e0fb4575d5614 /fs/bcachefs/btree_iter.h | |
parent | 2804d0f15bda386fa86c7b6b432edb758e785bce (diff) | |
download | linux-32913f49f54f0cf9ccf581e3abd2d1fc6ba4debf.tar.xz |
six locks: Seq now only incremented on unlock
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_iter.h')
-rw-r--r-- | fs/bcachefs/btree_iter.h | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/fs/bcachefs/btree_iter.h b/fs/bcachefs/btree_iter.h index 7d3564d72a7d..0cfb8af3d0e1 100644 --- a/fs/bcachefs/btree_iter.h +++ b/fs/bcachefs/btree_iter.h @@ -42,14 +42,7 @@ static inline struct btree *btree_path_node(struct btree_path *path, static inline bool btree_node_lock_seq_matches(const struct btree_path *path, const struct btree *b, unsigned level) { - /* - * We don't compare the low bits of the lock sequence numbers because - * @path might have taken a write lock on @b, and we don't want to skip - * the linked path if the sequence numbers were equal before taking that - * write lock. The lock sequence number is incremented by taking and - * releasing write locks and is even when unlocked: - */ - return path->l[level].lock_seq >> 1 == six_lock_seq(&b->c.lock) >> 1; + return path->l[level].lock_seq == six_lock_seq(&b->c.lock); } static inline struct btree *btree_node_parent(struct btree_path *path, |