aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-11-11 22:15:59 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-11-14 23:44:43 -0500
commit069749688ea4bbaeff0ca3b229b443ea96b03757 (patch)
treea4c416f48cb9eb10a71cfa5adeca1a01f92ad52d
parent006ccc3090e2f30f5f97857f3946312692a5279e (diff)
downloadlinux-069749688ea4bbaeff0ca3b229b443ea96b03757.tar.gz
bcachefs: Fix iterator leak in may_delete_deleted_inode()
may_delete_deleted_inode() was returning without exiting a btree iterator, eventually causing propagate_key_to_snaphot_leaves() to go into an infinite loop hitting btree_trans_too_many_iters(). Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/inode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/bcachefs/inode.c b/fs/bcachefs/inode.c
index def77f2d88024b..dab12c14d1ade2 100644
--- a/fs/bcachefs/inode.c
+++ b/fs/bcachefs/inode.c
@@ -1134,7 +1134,7 @@ static int may_delete_deleted_inode(struct btree_trans *trans,
* unlinked inodes in the snapshot leaves:
*/
*need_another_pass = true;
- return 0;
+ goto out;
}
ret = 1;