Re: [PATCH 01/16] xfs: sb verifier doesn't handle uncached sb buffer
From: Dave Chinner <david@fromorbit.com>
Date: 2021-07-14 09:38:04
On Wed, Jul 14, 2021 at 07:43:19AM +0100, Christoph Hellwig wrote:
On Wed, Jul 14, 2021 at 02:18:57PM +1000, Dave Chinner wrote:quoted
From: Dave Chinner <redacted> The verifier checks explicitly for bp->b_bn == XFS_SB_DADDR to match the primary superblock buffer, but the primary superblock is an uncached buffer and so bp->b_bn is always -1ULL. Hence this never matches and the CRC error reporting is wholly dependent on the mount superblock already being populated so CRC feature checks pass and allow CRC errors to be reported. Fix this so that the primary superblock CRC error reporting is not dependent on already having read the superblock into memory.Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de> .. in the long run we really need to kill of b_bn to avoid this kind of confusion.
b_bn is supposed to only be an internal cache index these days. We need that index in the first cacheline of the struct xfs_buf for performance reasons (so traversals fetch only a single cacheline per level), so perhaps a rename is in order just to catch all these remaining users that shouldn't be using it... Cheers, Dave. -- Dave Chinner david@fromorbit.com