Re: [PATCH 04/11] xfs: modify buffer item reference counting V2

Christoph Hellwig
2010-05-06T20:58:23Z

On Thu, May 06, 2010 at 11:45:44AM +1000, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> The buffer log item reference counts used to take reference?? for every
> transaction, similar to the pin counting. This is symmetric (like the
> pin/unpin) with respect to transaction completion, but with dleayed logging
> becomes assymetric as the pinning becomes assymetric w.r.t. transaction
> completion.
>
> To make both cases the same, allow the buffer pinning to take a reference to
> the buffer log item and always drop the reference the transaction has on it
> when being unlocked. This is balanced correctly because the unpin operation
> always drops a reference to the log item. Hence reference counting becomes
> symmetric w.r.t. item pinning as well as w.r.t active transactions and as a
> result the reference counting model remain consistent between normal and
> delayed logging.
>
> Signed-off-by: Dave Chinner <dchinner@redhat.com>

Looks good and makes the buffer refconting model a lot more sensible.

Reviewed-by: Christoph Hellwig <hch@lst.de>