[PATCH V2] xfs: Non-blocking inode locking in IO completion

Alex Elder aelder at sgi.com
Fri Feb 26 11:58:06 CST 2010


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.

					-Alex

> Cheers,
> 
> Dave.
> -- 
> Dave Chinner
> david at fromorbit.com
> 
> 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
> filesystem.
. . .




More information about the xfs mailing list