@@ -1392,10 +1392,7 @@ int bch2_inode_rm_snapshot(struct btree_trans *trans, u64 inum, u32 snapshot)
13921392 delete_ancestor_snapshot_inodes (trans , SPOS (0 , inum , snapshot ));
13931393}
13941394
1395- static int may_delete_deleted_inode (struct btree_trans * trans ,
1396- struct btree_iter * iter ,
1397- struct bpos pos ,
1398- bool * need_another_pass )
1395+ static int may_delete_deleted_inode (struct btree_trans * trans , struct bpos pos )
13991396{
14001397 struct bch_fs * c = trans -> c ;
14011398 struct btree_iter inode_iter ;
@@ -1484,9 +1481,8 @@ static int may_delete_deleted_inode(struct btree_trans *trans,
14841481int bch2_delete_dead_inodes (struct bch_fs * c )
14851482{
14861483 struct btree_trans * trans = bch2_trans_get (c );
1487- bool need_another_pass ;
14881484 int ret ;
1489- again :
1485+
14901486 /*
14911487 * if we ran check_inodes() unlinked inodes will have already been
14921488 * cleaned up but the write buffer will be out of sync; therefore we
@@ -1496,8 +1492,6 @@ int bch2_delete_dead_inodes(struct bch_fs *c)
14961492 if (ret )
14971493 goto err ;
14981494
1499- need_another_pass = false;
1500-
15011495 /*
15021496 * Weird transaction restart handling here because on successful delete,
15031497 * bch2_inode_rm_snapshot() will return a nested transaction restart,
@@ -1507,7 +1501,7 @@ int bch2_delete_dead_inodes(struct bch_fs *c)
15071501 ret = for_each_btree_key_commit (trans , iter , BTREE_ID_deleted_inodes , POS_MIN ,
15081502 BTREE_ITER_prefetch |BTREE_ITER_all_snapshots , k ,
15091503 NULL , NULL , BCH_TRANS_COMMIT_no_enospc , ({
1510- ret = may_delete_deleted_inode (trans , & iter , k .k -> p , & need_another_pass );
1504+ ret = may_delete_deleted_inode (trans , k .k -> p );
15111505 if (ret > 0 ) {
15121506 bch_verbose_ratelimited (c , "deleting unlinked inode %llu:%u" ,
15131507 k .k -> p .offset , k .k -> p .snapshot );
@@ -1528,9 +1522,6 @@ int bch2_delete_dead_inodes(struct bch_fs *c)
15281522
15291523 ret ;
15301524 }));
1531-
1532- if (!ret && need_another_pass )
1533- goto again ;
15341525err :
15351526 bch2_trans_put (trans );
15361527 bch_err_fn (c , ret );
0 commit comments