diff options
Diffstat (limited to 'fs/xfs/libxfs')
-rw-r--r-- | fs/xfs/libxfs/xfs_refcount.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/fs/xfs/libxfs/xfs_refcount.c b/fs/xfs/libxfs/xfs_refcount.c index a2dfae67ade1..9ef1f440a6f2 100644 --- a/fs/xfs/libxfs/xfs_refcount.c +++ b/fs/xfs/libxfs/xfs_refcount.c | |||
@@ -1675,11 +1675,11 @@ xfs_refcount_recover_cow_leftovers( | |||
1675 | high.rc.rc_startblock = -1U; | 1675 | high.rc.rc_startblock = -1U; |
1676 | error = xfs_btree_query_range(cur, &low, &high, | 1676 | error = xfs_btree_query_range(cur, &low, &high, |
1677 | xfs_refcount_recover_extent, &debris); | 1677 | xfs_refcount_recover_extent, &debris); |
1678 | if (error) | 1678 | xfs_btree_del_cursor(cur, error); |
1679 | goto out_cursor; | ||
1680 | xfs_btree_del_cursor(cur, XFS_BTREE_NOERROR); | ||
1681 | xfs_trans_brelse(tp, agbp); | 1679 | xfs_trans_brelse(tp, agbp); |
1682 | xfs_trans_cancel(tp); | 1680 | xfs_trans_cancel(tp); |
1681 | if (error) | ||
1682 | goto out_free; | ||
1683 | 1683 | ||
1684 | /* Now iterate the list to free the leftovers */ | 1684 | /* Now iterate the list to free the leftovers */ |
1685 | list_for_each_entry_safe(rr, n, &debris, rr_list) { | 1685 | list_for_each_entry_safe(rr, n, &debris, rr_list) { |
@@ -1727,11 +1727,6 @@ out_free: | |||
1727 | kmem_free(rr); | 1727 | kmem_free(rr); |
1728 | } | 1728 | } |
1729 | return error; | 1729 | return error; |
1730 | |||
1731 | out_cursor: | ||
1732 | xfs_btree_del_cursor(cur, XFS_BTREE_ERROR); | ||
1733 | xfs_trans_brelse(tp, agbp); | ||
1734 | goto out_trans; | ||
1735 | } | 1730 | } |
1736 | 1731 | ||
1737 | /* Is there a record covering a given extent? */ | 1732 | /* Is there a record covering a given extent? */ |