bcachefs: Document issue with bch_stripe layout

We've got a problem with bch_stripe that is going to take an on disk
format rev to fix - we can't access the block sector counts if the
checksum type is unknown.

Document it for now, there are a few other things to fix as well.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
Kent Overstreet 2025-01-13 15:41:50 -05:00
parent 78423deb51
commit a4e11cea27

View File

@ -20,6 +20,23 @@ struct bch_stripe {
*/
__u8 disk_label;
/*
* Variable length sections:
* - Pointers
* - Checksums
* 2D array of [stripe block/device][csum block], with checksum block
* size given by csum_granularity_bits
* - Block sector counts: per-block array of u16s
*
* XXX:
* Either checksums should have come last, or we should have included a
* checksum_size field (the size in bytes of the checksum itself, not
* the blocksize the checksum covers).
*
* Currently we aren't able to access the block sector counts if the
* checksum type is unknown.
*/
struct bch_extent_ptr ptrs[];
} __packed __aligned(8);