aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/linux-2.6/xfs_super.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index b40086680047..30ae96397e31 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -792,12 +792,14 @@ xfs_close_devices(
792 struct xfs_mount *mp) 792 struct xfs_mount *mp)
793{ 793{
794 if (mp->m_logdev_targp && mp->m_logdev_targp != mp->m_ddev_targp) { 794 if (mp->m_logdev_targp && mp->m_logdev_targp != mp->m_ddev_targp) {
795 struct block_device *logdev = mp->m_logdev_targp->bt_bdev;
795 xfs_free_buftarg(mp->m_logdev_targp); 796 xfs_free_buftarg(mp->m_logdev_targp);
796 xfs_blkdev_put(mp->m_logdev_targp->bt_bdev); 797 xfs_blkdev_put(logdev);
797 } 798 }
798 if (mp->m_rtdev_targp) { 799 if (mp->m_rtdev_targp) {
800 struct block_device *rtdev = mp->m_rtdev_targp->bt_bdev;
799 xfs_free_buftarg(mp->m_rtdev_targp); 801 xfs_free_buftarg(mp->m_rtdev_targp);
800 xfs_blkdev_put(mp->m_rtdev_targp->bt_bdev); 802 xfs_blkdev_put(rtdev);
801 } 803 }
802 xfs_free_buftarg(mp->m_ddev_targp); 804 xfs_free_buftarg(mp->m_ddev_targp);
803} 805}