Re: [PATCH 1/2] xfs: add CRC infrastructure

Dave Chinner
2012-11-07T22:26:37Z

On Wed, Nov 07, 2012 at 10:39:46PM +0100, Andi Kleen wrote:
> > Why would that be necessary? We never include the checksum field in
> > the calculation when setting it or verifiying it, and the
> > verification uses exactly the same method as the original
> > calculation to check the CRC, so it doesn't matter if the CRC value
> > is zero or not - if it matches (zero or otherwise), the validation
> > passes....
>
> I thought zero meant the checksum is not there? You stated that
> somewhere else.

That's only to avoid spurious warnings when moving from an existing
kernel to a new kernel that issues advisory warnings on mismatches.
For enforcement, though, when the on-disk format changes so that all
metadata is CRC protected, determination of whether zero is a valid
CRC value is determined by a superblock feature bit, not a magic CRC
mapping value...

Hence mapping the zero value just for advisory warnings really
doesn't buy us that much other than complexity for this single case.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com