[PATCH 1/2] xfs: unlock items before allowing the CIL to commit
Christoph Hellwig
hch at infradead.org
Tue Jun 8 20:11:52 CDT 2010
On Fri, Jul 30, 2010 at 08:55:45AM +1000, Dave Chinner wrote:
> From: Dave Chinner <dchinner at redhat.com>
>
> When we commit a transaction using delayed logging, we need to
> unlock the items in the transaciton before we unlock the CIL context
> and allow it to be checkpointed. If we unlock them after we release
> the CIl context lock, the CIL can checkpoint and complete before
> we free the log items. This breaks stale buffer item unlock and
> unpin processing as there is an implicit assumption that the unlock
> will occur before the unpin.
>
> Also, some log items need to store the LSN of the transaction commit
> in the item (inodes and EFIs) and so can race with other transaction
> completions if we don't prevent the CIL from checkpointing before
> the unlock occurs.
Looks good. It also avoid keeping the items around over the CIL push,
which should help with memory consumption under load.
Reviewed-by: Christoph Hellwig <hch at lst.de>
More information about the xfs
mailing list