diff options
Diffstat (limited to 'fs/xfs/xfs_mount.c')
-rw-r--r-- | fs/xfs/xfs_mount.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 9536fd190191..711ca51ca3d7 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c | |||
@@ -1529,6 +1529,15 @@ xfs_unmountfs( | |||
1529 | xfs_ail_push_all_sync(mp->m_ail); | 1529 | xfs_ail_push_all_sync(mp->m_ail); |
1530 | xfs_wait_buftarg(mp->m_ddev_targp); | 1530 | xfs_wait_buftarg(mp->m_ddev_targp); |
1531 | 1531 | ||
1532 | /* | ||
1533 | * The superblock buffer is uncached and xfsaild_push() will lock and | ||
1534 | * set the XBF_ASYNC flag on the buffer. We cannot do xfs_buf_iowait() | ||
1535 | * here but a lock on the superblock buffer will block until iodone() | ||
1536 | * has completed. | ||
1537 | */ | ||
1538 | xfs_buf_lock(mp->m_sb_bp); | ||
1539 | xfs_buf_unlock(mp->m_sb_bp); | ||
1540 | |||
1532 | xfs_log_unmount_write(mp); | 1541 | xfs_log_unmount_write(mp); |
1533 | xfs_log_unmount(mp); | 1542 | xfs_log_unmount(mp); |
1534 | xfs_uuid_unmount(mp); | 1543 | xfs_uuid_unmount(mp); |