|
@@ -1529,6 +1529,15 @@ xfs_unmountfs(
|
|
xfs_ail_push_all_sync(mp->m_ail);
|
|
xfs_ail_push_all_sync(mp->m_ail);
|
|
xfs_wait_buftarg(mp->m_ddev_targp);
|
|
xfs_wait_buftarg(mp->m_ddev_targp);
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * The superblock buffer is uncached and xfsaild_push() will lock and
|
|
|
|
+ * set the XBF_ASYNC flag on the buffer. We cannot do xfs_buf_iowait()
|
|
|
|
+ * here but a lock on the superblock buffer will block until iodone()
|
|
|
|
+ * has completed.
|
|
|
|
+ */
|
|
|
|
+ xfs_buf_lock(mp->m_sb_bp);
|
|
|
|
+ xfs_buf_unlock(mp->m_sb_bp);
|
|
|
|
+
|
|
xfs_log_unmount_write(mp);
|
|
xfs_log_unmount_write(mp);
|
|
xfs_log_unmount(mp);
|
|
xfs_log_unmount(mp);
|
|
xfs_uuid_unmount(mp);
|
|
xfs_uuid_unmount(mp);
|