diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-11-11 22:15:59 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-11-14 23:44:43 -0500 |
commit | 069749688ea4bbaeff0ca3b229b443ea96b03757 (patch) | |
tree | a4c416f48cb9eb10a71cfa5adeca1a01f92ad52d /fs | |
parent | 006ccc3090e2f30f5f97857f3946312692a5279e (diff) |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bcachefs/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/bcachefs/inode.c b/fs/bcachefs/inode.c index def77f2d8802..dab12c14d1ad 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; |