]> www.infradead.org Git - linux.git/commitdiff
bcachefs: bch2_btree_path_peek_slot() doesn't return errors
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 13 Dec 2024 10:58:34 +0000 (05:58 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 29 Dec 2024 18:30:39 +0000 (13:30 -0500)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_iter.c

index b27944b6208770c168d7bf6104900f2c323ac2d7..a1c5fcced24e4ff11d96c5fc39d74b9f5d5aee76 100644 (file)
@@ -2229,14 +2229,15 @@ struct bkey_s_c btree_trans_peek_key_cache(struct btree_iter *iter, struct bpos
        btree_path_set_should_be_locked(trans, trans->paths + iter->key_cache_path);
 
        k = bch2_btree_path_peek_slot(trans->paths + iter->key_cache_path, &u);
-       if (k.k && !bkey_err(k)) {
-               if ((iter->flags & BTREE_ITER_all_snapshots) &&
-                   !bpos_eq(pos, k.k->p))
-                       return bkey_s_c_null;
+       if (!k.k)
+               return k;
 
-               iter->k = u;
-               k.k = &iter->k;
-       }
+       if ((iter->flags & BTREE_ITER_all_snapshots) &&
+           !bpos_eq(pos, k.k->p))
+               return bkey_s_c_null;
+
+       iter->k = u;
+       k.k = &iter->k;
        return k;
 }