diff options
| -rw-r--r-- | fs/xfs/xfs_dfrag.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/xfs/xfs_dfrag.c b/fs/xfs/xfs_dfrag.c index e6d839bddbf0..7465f9ee125f 100644 --- a/fs/xfs/xfs_dfrag.c +++ b/fs/xfs/xfs_dfrag.c | |||
| @@ -347,13 +347,15 @@ xfs_swap_extents( | |||
| 347 | 347 | ||
| 348 | error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); | 348 | error = xfs_trans_commit(tp, XFS_TRANS_SWAPEXT); |
| 349 | 349 | ||
| 350 | out_unlock: | ||
| 351 | xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | ||
| 352 | xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | ||
| 353 | out: | 350 | out: |
| 354 | kmem_free(tempifp); | 351 | kmem_free(tempifp); |
| 355 | return error; | 352 | return error; |
| 356 | 353 | ||
| 354 | out_unlock: | ||
| 355 | xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | ||
| 356 | xfs_iunlock(tip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); | ||
| 357 | goto out; | ||
| 358 | |||
| 357 | out_trans_cancel: | 359 | out_trans_cancel: |
| 358 | xfs_trans_cancel(tp, 0); | 360 | xfs_trans_cancel(tp, 0); |
| 359 | goto out_unlock; | 361 | goto out_unlock; |
