summaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_cache.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2020-02-07 13:38:02 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:08:35 -0400
commit548b3d209fa5c6aaa9db58a69d9f6cf4ce8978b6 (patch)
tree9f96fb50cf49b7b72070011ec1ab6260cd1d9610 /fs/bcachefs/btree_cache.h
parent237e80483a6466f3c1968c2a8bb115b3e24d951b (diff)
downloadlwn-548b3d209fa5c6aaa9db58a69d9f6cf4ce8978b6.tar.gz
lwn-548b3d209fa5c6aaa9db58a69d9f6cf4ce8978b6.zip
bcachefs: btree_ptr_v2
Add a new btree ptr type which contains the sequence number (random 64 bit cookie, actually) for that btree node - this lets us verify that when we read in a btree node it really is the btree node we wanted. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_cache.h')
-rw-r--r--fs/bcachefs/btree_cache.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/btree_cache.h b/fs/bcachefs/btree_cache.h
index 270f7f8fb140..6e7edcaf6675 100644
--- a/fs/bcachefs/btree_cache.h
+++ b/fs/bcachefs/btree_cache.h
@@ -40,6 +40,8 @@ static inline u64 btree_ptr_hash_val(const struct bkey_i *k)
switch (k->k.type) {
case KEY_TYPE_btree_ptr:
return *((u64 *) bkey_i_to_btree_ptr_c(k)->v.start);
+ case KEY_TYPE_btree_ptr_v2:
+ return bkey_i_to_btree_ptr_v2_c(k)->v.seq;
default:
return 0;
}