diff options
Diffstat (limited to 'libbcachefs/str_hash.h')
-rw-r--r-- | libbcachefs/str_hash.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libbcachefs/str_hash.h b/libbcachefs/str_hash.h index f2779159..19a0d6b2 100644 --- a/libbcachefs/str_hash.h +++ b/libbcachefs/str_hash.h @@ -262,10 +262,8 @@ int bch2_hash_set(struct btree_trans *trans, if (!ret) ret = -ENOSPC; out: - if (!IS_ERR_OR_NULL(slot)) - bch2_trans_iter_put(trans, slot); - if (!IS_ERR_OR_NULL(iter)) - bch2_trans_iter_put(trans, iter); + bch2_trans_iter_put(trans, slot); + bch2_trans_iter_put(trans, iter); return ret; found: @@ -319,13 +317,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 */ |