On Fri, Jul 30, 2010 at 08:55:45AM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > 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@xxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs