Re: do_sync() and XFSQA test 182 failures....

Dave Chinner
2008-10-31T22:04:04Z

On Fri, Oct 31, 2008 at 04:37:16PM -0400, Christoph Hellwig wrote:
> On Fri, Oct 31, 2008 at 11:48:14AM +1100, Dave Chinner wrote:
> > @@ -1118,8 +1118,7 @@ xfs_fs_write_super(
> > struct super_block *sb)
> > {
> > if (!(sb->s_flags & MS_RDONLY))
> > + xfs_sync_fsdata(XFS_M(sb), SYNC_WAIT);
>
> Not commenting on the rest yet, but I'm sure you noticed that before
> your patch we ever called xfs_sync_fsdata with SYNC_WAIT at all. I
> think with the current codebase there is nothing to guarantee we ever
> write the superblock out to disk as xfs_wait_buftarg specificly
> excludes the superblock (XBF_FS_MANAGED)

Almost. unmount calls xfs_unmountfs_writesb() which does a
synchronous write of the superblock. But in the current code sync(1)
certainly never, ever triggers a superblock write we wait for...