Re: [PATCH 2/2] xfs: add CRC checks to the log

Mark Tinguely
2012-11-11T19:55:50Z

On 11/07/12 07:37, Dave Chinner wrote:
> From: Christoph Hellwig<hch@lst.de>
>
> Implement CRCs for the log buffers. We re-use a field in
> struct xlog_rec_header that was used for a weak checksum of the
> log buffer payload in debug builds before.
>
> The new checksumming uses the crc32c checksum we will use elsewhere
> in XFS, and also protects the record header and addition cycle data.
>
> Due to this there are some interesting changes in xlog_sync, as we
> need to do the cycle wrapping for the split buffer case much earlier,
> as we would touch the buffer after generating the checksum otherwise.
>
> The CRC calculation is always enabled, even for non-CRC filesystems,
> as adding this CRC does not change the log format. On non-CRC
> filesystems, only issue an alert if a CRC mismatch is found and
> allow recovery to continue - this will act as an indicator that
> log recovery problems are a result of log corruption. On CRC enabled
> filesystems, however, log recovery will fail.
>
> Note that existing debug kernels will write a simple checksum value
> to the log, so the first time this is run on a filesystem taht was
> last used on a debug kernel it will through CRC mismatch warning
> errors. These can be ignored.
>
> Initially based on a patch from Dave Chinner, then modified
> significantly by Christoph Hellwig. Modified again by Dave Chinner
> to get to this version.
>
> Signed-off-by: Christoph Hellwig<hch@lst.de>
> Signed-off-by: Dave Chinner<dchinner@redhat.com>
> ---

Looks good.

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