Re: [PATCH 08/60] xfs: Introduce an ordered buffer item

Mark Tinguely
2013-06-23T17:27:39Z

On 06/18/13 23:50, Dave Chinner wrote:
> If we have a buffer that we have modified but we do not wish to
> physically log in a transaction (e.g. we've logged a logical
> change), we still need to ensure that transactional integrity is
> maintained. Hence we must not move the tail of the log past the
> transaction that the buffer is associated with before the buffer is
> written to disk.
>
> This means these special buffers still need to be included in the
> transaction and added to the AIL just like a normal buffer, but we
> do not want the modifications to the buffer written into the
> transaction. IOWs, what we want is an "ordered buffer" that
> maintains the same transactional life cycle as a physically logged
> buffer, just without the transcribing of the modifications to the
> log.
>
> Hence we need to flag the buffer as an "ordered buffer" to avoid
> including it in vector size calculations or formatting during the
> transaction. Once the transaction is committed, the buffer appears
> for all intents to be the same as a physically logged buffer as it
> transitions through the log and AIL.
>
> Relogging will also work just fine for such an ordered buffer - the
> logical transaction will be replayed before the subsequent
> modifications that relog the buffer, so everything will be
> reconstructed correctly by recovery.
>
> Signed-off-by: Dave Chinner<david@fromorbit.com>
> ---

Looks good.

Reviewed-by: Mark Tinguely <tinguely@sgi.com>