diff options
-rw-r--r-- | fs/xfs/xfs_mount.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index f511d22fee6f..536021fb3d4e 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c | |||
@@ -1288,7 +1288,7 @@ xfs_mountfs( | |||
1288 | XFS_FSB_TO_BB(mp, sbp->sb_logblocks)); | 1288 | XFS_FSB_TO_BB(mp, sbp->sb_logblocks)); |
1289 | if (error) { | 1289 | if (error) { |
1290 | xfs_warn(mp, "log mount failed"); | 1290 | xfs_warn(mp, "log mount failed"); |
1291 | goto out_free_perag; | 1291 | goto out_fail_wait; |
1292 | } | 1292 | } |
1293 | 1293 | ||
1294 | /* | 1294 | /* |
@@ -1315,7 +1315,7 @@ xfs_mountfs( | |||
1315 | !mp->m_sb.sb_inprogress) { | 1315 | !mp->m_sb.sb_inprogress) { |
1316 | error = xfs_initialize_perag_data(mp, sbp->sb_agcount); | 1316 | error = xfs_initialize_perag_data(mp, sbp->sb_agcount); |
1317 | if (error) | 1317 | if (error) |
1318 | goto out_free_perag; | 1318 | goto out_fail_wait; |
1319 | } | 1319 | } |
1320 | 1320 | ||
1321 | /* | 1321 | /* |
@@ -1439,6 +1439,10 @@ xfs_mountfs( | |||
1439 | IRELE(rip); | 1439 | IRELE(rip); |
1440 | out_log_dealloc: | 1440 | out_log_dealloc: |
1441 | xfs_log_unmount(mp); | 1441 | xfs_log_unmount(mp); |
1442 | out_fail_wait: | ||
1443 | if (mp->m_logdev_targp && mp->m_logdev_targp != mp->m_ddev_targp) | ||
1444 | xfs_wait_buftarg(mp->m_logdev_targp); | ||
1445 | xfs_wait_buftarg(mp->m_ddev_targp); | ||
1442 | out_free_perag: | 1446 | out_free_perag: |
1443 | xfs_free_perag(mp); | 1447 | xfs_free_perag(mp); |
1444 | out_remove_uuid: | 1448 | out_remove_uuid: |