@@ -1392,10 +1392,7 @@ int bch2_inode_rm_snapshot(struct btree_trans *trans, u64 inum, u32 snapshot)
1392
1392
delete_ancestor_snapshot_inodes (trans , SPOS (0 , inum , snapshot ));
1393
1393
}
1394
1394
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 )
1399
1396
{
1400
1397
struct bch_fs * c = trans -> c ;
1401
1398
struct btree_iter inode_iter ;
@@ -1484,9 +1481,8 @@ static int may_delete_deleted_inode(struct btree_trans *trans,
1484
1481
int bch2_delete_dead_inodes (struct bch_fs * c )
1485
1482
{
1486
1483
struct btree_trans * trans = bch2_trans_get (c );
1487
- bool need_another_pass ;
1488
1484
int ret ;
1489
- again :
1485
+
1490
1486
/*
1491
1487
* if we ran check_inodes() unlinked inodes will have already been
1492
1488
* 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)
1496
1492
if (ret )
1497
1493
goto err ;
1498
1494
1499
- need_another_pass = false;
1500
-
1501
1495
/*
1502
1496
* Weird transaction restart handling here because on successful delete,
1503
1497
* bch2_inode_rm_snapshot() will return a nested transaction restart,
@@ -1507,7 +1501,7 @@ int bch2_delete_dead_inodes(struct bch_fs *c)
1507
1501
ret = for_each_btree_key_commit (trans , iter , BTREE_ID_deleted_inodes , POS_MIN ,
1508
1502
BTREE_ITER_prefetch |BTREE_ITER_all_snapshots , k ,
1509
1503
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 );
1511
1505
if (ret > 0 ) {
1512
1506
bch_verbose_ratelimited (c , "deleting unlinked inode %llu:%u" ,
1513
1507
k .k -> p .offset , k .k -> p .snapshot );
@@ -1528,9 +1522,6 @@ int bch2_delete_dead_inodes(struct bch_fs *c)
1528
1522
1529
1523
ret ;
1530
1524
}));
1531
-
1532
- if (!ret && need_another_pass )
1533
- goto again ;
1534
1525
err :
1535
1526
bch2_trans_put (trans );
1536
1527
bch_err_fn (c , ret );
0 commit comments