diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_super.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 6 |
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 | } |