From: Kent Overstreet Date: Mon, 1 Apr 2024 04:00:32 +0000 (-0400) Subject: bcachefs: Fix remove_dirent() X-Git-Tag: Ubuntu-6.11.0-9.9~1778^2~2 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=8ce1db8091b23f5d2a0dd1dabe8007954114cb68;p=mirror_ubuntu-kernels.git bcachefs: Fix remove_dirent() We were missing an iter_traverse(). Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c index aca6fae409cd..0a47b0a473d8 100644 --- a/fs/bcachefs/fsck.c +++ b/fs/bcachefs/fsck.c @@ -158,9 +158,10 @@ static int __remove_dirent(struct btree_trans *trans, struct bpos pos) bch2_trans_iter_init(trans, &iter, BTREE_ID_dirents, pos, BTREE_ITER_INTENT); - ret = bch2_hash_delete_at(trans, bch2_dirent_hash_desc, - &dir_hash_info, &iter, - BTREE_UPDATE_INTERNAL_SNAPSHOT_NODE); + ret = bch2_btree_iter_traverse(&iter) ?: + bch2_hash_delete_at(trans, bch2_dirent_hash_desc, + &dir_hash_info, &iter, + BTREE_UPDATE_INTERNAL_SNAPSHOT_NODE); bch2_trans_iter_exit(trans, &iter); err: bch_err_fn(c, ret);