|
@@ -480,13 +480,19 @@ xfs_mount(
|
|
}
|
|
}
|
|
if (rtdev) {
|
|
if (rtdev) {
|
|
mp->m_rtdev_targp = xfs_alloc_buftarg(rtdev, 1);
|
|
mp->m_rtdev_targp = xfs_alloc_buftarg(rtdev, 1);
|
|
- if (!mp->m_rtdev_targp)
|
|
|
|
|
|
+ if (!mp->m_rtdev_targp) {
|
|
|
|
+ xfs_blkdev_put(logdev);
|
|
|
|
+ xfs_blkdev_put(rtdev);
|
|
goto error0;
|
|
goto error0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
mp->m_logdev_targp = (logdev && logdev != ddev) ?
|
|
mp->m_logdev_targp = (logdev && logdev != ddev) ?
|
|
xfs_alloc_buftarg(logdev, 1) : mp->m_ddev_targp;
|
|
xfs_alloc_buftarg(logdev, 1) : mp->m_ddev_targp;
|
|
- if (!mp->m_logdev_targp)
|
|
|
|
|
|
+ if (!mp->m_logdev_targp) {
|
|
|
|
+ xfs_blkdev_put(logdev);
|
|
|
|
+ xfs_blkdev_put(rtdev);
|
|
goto error0;
|
|
goto error0;
|
|
|
|
+ }
|
|
|
|
|
|
/*
|
|
/*
|
|
* Setup flags based on mount(2) options and then the superblock
|
|
* Setup flags based on mount(2) options and then the superblock
|