opensubscriber
   Find in this group all groups
 
Unknown more information…

x : xfs@oss.sgi.com 16 September 2009 • 9:18PM -0400

[PATCH 4/4] [PATCH 5/5] xfs: fix xfs_quiesce_data
by Christoph Hellwig

REPLY TO AUTHOR
 
REPLY TO GROUP




From: Dave Chinner <david@from...>

We need to do a synchronous xfs_sync_fsdata to make sure the superblock
actually is on disk when we return.

Also remove SYNC_BDFLUSH flag to xfs_sync_inodes because that particular
flag is never checked.

Move xfs_filestream_flush call later to only release filestreams associations
after the syncing.


Signed-off-by: Dave Chinner <david@from...>
Signed-off-by: Christoph Hellwig <hch@lst....>

Index: linux-2.6/fs/xfs/linux-2.6/xfs_sync.c
===================================================================
--- linux-2.6.orig/fs/xfs/linux-2.6/xfs_sync.c 2009-08-27 20:06:39.889355294 -0300
+++ linux-2.6/fs/xfs/linux-2.6/xfs_sync.c 2009-08-27 20:08:01.169357854 -0300
@@ -426,14 +426,16 @@ xfs_quiesce_data(
/* push non-blocking */
xfs_sync_data(mp, 0);
xfs_qm_sync(mp, SYNC_TRYLOCK);
- xfs_filestream_flush(mp);

- /* push and block */
+ /* push and block till complete */
xfs_sync_data(mp, SYNC_WAIT);
xfs_qm_sync(mp, SYNC_WAIT);

+ /* drop inode references pinned by filestreams */
+ xfs_filestream_flush(mp);
+
/* write superblock and hoover up shutdown errors */
- error = xfs_sync_fsdata(mp, 0);
+ error = xfs_sync_fsdata(mp, SYNC_WAIT);

/* flush data-only devices */
if (mp->m_rtdev_targp)

_______________________________________________
xfs mailing list
xfs@oss....
http://oss.sgi.com/mailman/listinfo/xfs

Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

opensubscriber is not affiliated with the authors of this message nor responsible for its content.