mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 08:43:31 +00:00
bcachefs: Fix __btree_trans_peek_key_cache()
We were returning a pointer to a variable on the stack - oops. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
e88a75ebe8
commit
52bf51b91f
1 changed files with 7 additions and 1 deletions
|
@ -1851,6 +1851,7 @@ struct bkey_s_c __btree_trans_peek_key_cache(struct btree_iter *iter, struct bpo
|
|||
struct btree_trans *trans = iter->trans;
|
||||
struct bch_fs *c = trans->c;
|
||||
struct bkey u;
|
||||
struct bkey_s_c k;
|
||||
int ret;
|
||||
|
||||
if (!bch2_btree_key_cache_find(c, iter->btree_id, pos))
|
||||
|
@ -1870,7 +1871,12 @@ struct bkey_s_c __btree_trans_peek_key_cache(struct btree_iter *iter, struct bpo
|
|||
|
||||
btree_path_set_should_be_locked(iter->key_cache_path);
|
||||
|
||||
return bch2_btree_path_peek_slot(iter->key_cache_path, &u);
|
||||
k = bch2_btree_path_peek_slot(iter->key_cache_path, &u);
|
||||
if (k.k && !bkey_err(k)) {
|
||||
iter->k = u;
|
||||
k.k = &iter->k;
|
||||
}
|
||||
return k;
|
||||
}
|
||||
|
||||
static noinline
|
||||
|
|
Loading…
Add table
Reference in a new issue