File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -400,6 +400,13 @@ int bch2_check_btree_backpointers(struct bch_fs *c)
400400 return ret ;
401401}
402402
403+ static inline bool bkey_and_val_eq (struct bkey_s_c l , struct bkey_s_c r )
404+ {
405+ return bpos_eq (l .k -> p , r .k -> p ) &&
406+ bkey_bytes (l .k ) == bkey_bytes (r .k ) &&
407+ !memcmp (l .v , r .v , bkey_val_bytes (l .k ));
408+ }
409+
403410static int check_bp_exists (struct btree_trans * trans ,
404411 struct bpos bucket ,
405412 struct bch_backpointer bp ,
@@ -433,9 +440,7 @@ static int check_bp_exists(struct btree_trans *trans,
433440
434441 if (bp_k .k -> type != KEY_TYPE_backpointer ||
435442 memcmp (bkey_s_c_to_backpointer (bp_k ).v , & bp , sizeof (bp ))) {
436- if (!bpos_eq (orig_k .k -> p , last_flushed -> k -> k .p ) ||
437- bkey_bytes (orig_k .k ) != bkey_bytes (& last_flushed -> k -> k ) ||
438- memcmp (orig_k .v , & last_flushed -> k -> v , bkey_val_bytes (orig_k .k ))) {
443+ if (!bkey_and_val_eq (orig_k , bkey_i_to_s_c (last_flushed -> k ))) {
439444 bch2_bkey_buf_reassemble (& tmp , c , orig_k );
440445
441446 if (bp .level ) {
You can’t perform that action at this time.
0 commit comments