xfs
[Top] [All Lists]

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

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH V2] xfs: Non-blocking inode locking in IO completion
From: Alex Elder <aelder@xxxxxxx>
Date: Fri, 26 Feb 2010 11:58:06 -0600
Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20100225230628.GB18369@xxxxxxxxxxxxxxxx>
References: <1266384989-28928-1-git-send-email-david@xxxxxxxxxxxxx> <20100217192938.GA14015@xxxxxxxxxxxxx> <20100217211312.GQ28392@xxxxxxxxxxxxxxxx> <20100218123512.GA6016@xxxxxxxxxxxxx> <20100225230628.GB18369@xxxxxxxxxxxxxxxx>
Reply-to: aelder@xxxxxxx
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@xxxxxxxxxxxxx
> 
> 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.
. . .

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