aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/linux-2.6/xfs_sync.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_sync.c b/fs/xfs/linux-2.6/xfs_sync.c
index 320be6aea492..7647b8db3ca3 100644
--- a/fs/xfs/linux-2.6/xfs_sync.c
+++ b/fs/xfs/linux-2.6/xfs_sync.c
@@ -419,14 +419,16 @@ xfs_quiesce_data(
419 /* push non-blocking */ 419 /* push non-blocking */
420 xfs_sync_data(mp, 0); 420 xfs_sync_data(mp, 0);
421 xfs_qm_sync(mp, SYNC_TRYLOCK); 421 xfs_qm_sync(mp, SYNC_TRYLOCK);
422 xfs_filestream_flush(mp);
423 422
424 /* push and block */ 423 /* push and block till complete */
425 xfs_sync_data(mp, SYNC_WAIT); 424 xfs_sync_data(mp, SYNC_WAIT);
426 xfs_qm_sync(mp, SYNC_WAIT); 425 xfs_qm_sync(mp, SYNC_WAIT);
427 426
427 /* drop inode references pinned by filestreams */
428 xfs_filestream_flush(mp);
429
428 /* write superblock and hoover up shutdown errors */ 430 /* write superblock and hoover up shutdown errors */
429 error = xfs_sync_fsdata(mp, 0); 431 error = xfs_sync_fsdata(mp, SYNC_WAIT);
430 432
431 /* flush data-only devices */ 433 /* flush data-only devices */
432 if (mp->m_rtdev_targp) 434 if (mp->m_rtdev_targp)