[Top] [All Lists]

Re: [PATCH 0/11] xfs: delayed logging

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 0/11] xfs: delayed logging
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Fri, 7 May 2010 09:54:01 +1000
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20100506191218.GA18555@xxxxxxxxxxxxx>
References: <1273110351-2333-1-git-send-email-david@xxxxxxxxxxxxx> <20100506132641.GC19579@dastard> <20100506191218.GA18555@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Thu, May 06, 2010 at 03:12:18PM -0400, Christoph Hellwig wrote:
> > Secondly, for delayed logging only, matching by transaction
> > structure address triggers the failure because busy extents
> > have a much longer life than the transaction structure. It is clear
> > why the transaction ID matching didn't trip over - it would have
> > triggered a log force in this situation, and hence blocked until
> > the checkpoint that fs_mark-2742 had triggered was complete before
> > redoing the rbtree insert.
> True, the busy extents get spliced over to the cil context, so they
> outlive the transaction structure.
> > Right now I'm simply going to go back to using the transaction ID
> > for matching transactions, even though the above analysis points out
> > that even that is not as efficient as it could be for delayed
> > logging. That is, we don't even need to force the log or have a
> > synchronous transaction if the extent was first freed in the current
> > checkpoint seqeunce. Doing that, however, requires pinning the
> > checkpoint sequence (i.e. preventing a flush) until the current
> > transaction commits. While that is in the plan for delayed logging,
> > it is future functionality and hence I'm not going to attempt to
> > design and implement it this close to 2.6.35-rc cycle. [*]
> Sounds fine to me.  I'm not a fan of exporting the tid, but it
> seems like there's no good way around it for now.  Please make the
> tid exporting a separate changeset so that it's easily revertable
> once this is sorted out.

Yeah, that's a good idea.

> And documenting all this in comments in the code so that it's archived
> would be very useful!

Will do. 


Dave Chinner

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