xfs
[Top] [All Lists]

RE: [PATCH 4/4] [PATCH 5/5] xfs: fix xfs_quiesce_data

To: "Christoph Hellwig" <hch@xxxxxxxxxxxxx>
Subject: RE: [PATCH 4/4] [PATCH 5/5] xfs: fix xfs_quiesce_data
From: "Alex Elder" <aelder@xxxxxxx>
Date: Fri, 28 Aug 2009 18:18:45 -0500
Cc: <xfs@xxxxxxxxxxx>
In-reply-to: <20090827231558.701516609@xxxxxxxxxxxxxxxxxxxxxx>
Thread-index: AconcDFaodEfQfH/RH6TAiaESOCbTgAxIInA
Thread-topic: [PATCH 4/4] [PATCH 5/5] xfs: fix xfs_quiesce_data
Christoph Hellwig wrote:
> From: Dave Chinner <david@xxxxxxxxxxxxx>
> 
> 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 [hch: why?  seems unrelated].

I concur with your question.  Why not release the inode references early?

> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Looks good.

Reviewed-by: Alex Elder <aelder@xxxxxxx>

> 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@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

<Prev in Thread] Current Thread [Next in Thread>