diff options
author | 2024-12-13 05:58:34 -0500 | |
---|---|---|
committer | 2024-12-29 13:30:39 -0500 | |
commit | 6679e363f44121ec07e9daeb0c78464df410bc47 (patch) | |
tree | a8a082a34a3a81905f6c4bd1d55635b239b57732 /fs/bcachefs/btree_iter.c | |
parent | bcachefs: trace_key_cache_fill (diff) | |
download | wireguard-linux-6679e363f44121ec07e9daeb0c78464df410bc47.tar.xz wireguard-linux-6679e363f44121ec07e9daeb0c78464df410bc47.zip |
bcachefs: bch2_btree_path_peek_slot() doesn't return errors
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to '')
-rw-r--r-- | fs/bcachefs/btree_iter.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index b27944b62087..a1c5fcced24e 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -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; } |