aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/scrub/repair.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/scrub/repair.c')
-rw-r--r--fs/xfs/scrub/repair.c7
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
782out_cur: 782out_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;