On Fri, 2010-02-26 at 10:06 +1100, Dave Chinner wrote:
> On Thu, Feb 18, 2010 at 07:35:13AM -0500, Christoph Hellwig wrote:
> > On Thu, Feb 18, 2010 at 08:13:12AM +1100, Dave Chinner wrote:
> > > > The patch looks good to me - while I hate introducing random delay()
> > > > calls I don't really see a way around this.
> > >
> > > I thought about using queue_delayed_work(), but then the change
> > > became much bigger and has other side effects like increasing the
> > > size of the ioend structure.
> > Yes, now that the normal work struct and the delayed work struct are
> > different it would be a pain, agreed.
> Version with updated commit message below.
This looks good and I'll be incorporating this version.
Thanks for updating it.
> Dave Chinner
> xfs: Non-blocking inode locking in IO completion
> The introduction of barriers to loop devices has created a new IO
> order completion dependency that XFS does not handle. The loop
> device implements barriers using fsync and so turns a log IO in the
> XFS filesystem on the loop device into a data IO in the backing
> filesystem. That is, the completion of log IOs in the loop
> filesystem are now dependent on completion of data IO in the backing
. . .