diff options
Diffstat (limited to 'fs/xfs/scrub/repair.c')
-rw-r--r-- | fs/xfs/scrub/repair.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/xfs/scrub/repair.c b/fs/xfs/scrub/repair.c index 35c589a04fac..ea39e2bdc96a 100644 --- a/fs/xfs/scrub/repair.c +++ b/fs/xfs/scrub/repair.c | |||
@@ -747,9 +747,9 @@ xfs_repair_dispose_btree_block( | |||
747 | 747 | ||
748 | /* Can we find any other rmappings? */ | 748 | /* Can we find any other rmappings? */ |
749 | error = xfs_rmap_has_other_keys(cur, agbno, 1, oinfo, &has_other_rmap); | 749 | error = xfs_rmap_has_other_keys(cur, agbno, 1, oinfo, &has_other_rmap); |
750 | xfs_btree_del_cursor(cur, error); | ||
750 | if (error) | 751 | if (error) |
751 | goto out_cur; | 752 | goto out_free; |
752 | xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); | ||
753 | 753 | ||
754 | /* | 754 | /* |
755 | * If there are other rmappings, this block is cross linked and must | 755 | * If there are other rmappings, this block is cross linked and must |
@@ -779,8 +779,7 @@ xfs_repair_dispose_btree_block( | |||
779 | return xfs_trans_roll_inode(&sc->tp, sc->ip); | 779 | return xfs_trans_roll_inode(&sc->tp, sc->ip); |
780 | return xfs_repair_roll_ag_trans(sc); | 780 | return xfs_repair_roll_ag_trans(sc); |
781 | 781 | ||
782 | out_cur: | 782 | out_free: |
783 | xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); | ||
784 | if (agf_bp != sc->sa.agf_bp) | 783 | if (agf_bp != sc->sa.agf_bp) |
785 | xfs_trans_brelse(sc->tp, agf_bp); | 784 | xfs_trans_brelse(sc->tp, agf_bp); |
786 | return error; | 785 | return error; |