Re: spurious -ENOSPC on XFS

From: Christoph Hellwig
Date: Thu Jan 22 2009 - 17:43:58 EST


On Thu, Jan 22, 2009 at 03:59:13PM -0500, Christoph Hellwig wrote:
> On Wed, Jan 21, 2009 at 10:24:22AM +1100, Dave Chinner wrote:
> > Right, so you need to use internal xfs sync functions that don't
> > have these problems. That is:
> >
> > error = xfs_sync_inodes(ip->i_mount, SYNC_DELWRI|SYNC_WAIT);
> >
> > will do a blocking flush of all the inodes without deadlocks occurring.
> > Then you can remove the 500ms wait.
>
> I've given this a try with Eric's testcase from #724 in the oss bugzilla,
> but it's not enough yet. I thinks that's because SYNC_WAIT is rather
> meaningless for data writeout, and we need SYNC_IOWAIT instead. The
> patch below gets the testcase working for me:

Actually I still see failures happing sometimes. I guess tha'ts because
our flush is still asynchronous due to the schedule_work..
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/