bcachefs: Fix an in iterator leak

This should fix a transaction iterator overflow bug during fsck.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
Kent Overstreet 2020-01-27 17:47:07 -05:00 committed by Kent Overstreet
parent ab05de4ce4
commit 4dba7c3017
1 changed files with 4 additions and 1 deletions

View File

@ -319,13 +319,16 @@ int bch2_hash_delete(struct btree_trans *trans,
u64 inode, const void *key)
{
struct btree_iter *iter;
int ret;
iter = bch2_hash_lookup(trans, desc, info, inode, key,
BTREE_ITER_INTENT);
if (IS_ERR(iter))
return PTR_ERR(iter);
return bch2_hash_delete_at(trans, desc, info, iter);
ret = bch2_hash_delete_at(trans, desc, info, iter);
bch2_trans_iter_put(trans, iter);
return ret;
}
#endif /* _BCACHEFS_STR_HASH_H */