On 6/5/24 22:50, Christoph Hellwig wrote:
On Wed, Jun 05, 2024 at 10:31:27AM -0600, Bart Van Assche wrote:
+ case BLK_INTEGRITY_CSUM_CRC64:
+ if (bi->flags & BLK_INTEGRITY_REF_TAG)
+ return "EXT-DIF-TYPE1-CRC64";
+ return "EXT-DIF-TYPE3-CRC64";
+ default:
+ return "nop";
+ }
+}
Since bi->csum_type has an enumeration type, please leave out the "default:"
and move return "nop" outside the switch statement. This will make the
compiler issue a warning if a new enumeration label would be added without
updating the above switch statement. Otherwise this patch looks good to me.
For that to work you'd need to make csum_type the enum type and not an
unsigned char, which would bloat the block limits. You'd also need to
keep the return "nop" where it is, but use the explicit case instead of
the default.
Has it been considered to add __packed to the definition of enum
blk_integerity_checksum such that its size changes from 4 to 1 bytes and to
change "unsigned char csum_type" into "enum blk_integerity csum_type"?
Thanks,
Bart.