Details
-
Bug
-
Resolution: Fixed
-
Minor
-
Lustre 2.12.0
-
None
-
3
-
9223372036854775807
Description
Preserve the existing kernel API when the T10-PI patches are applied, so that any other modules using this interface do not break.
In particular, keep the EXPORT_SYMBOL(bio_integrity_alloc) and EXPORT_SYMBOL(bio_integrity_prep) in place.
In struct bio_integrity_payload put *bip_generate_fn and *bip_verify_fn after *bip_vec since that field is directly accessed by callers. In struct blk_integrity_exchg the bi_idx field only needs to be an unsigned short since the bio->bi_idx and bio->bi_vcnt values used with it are also unsigned short, which saves 8 bytes of padding in the struct and puts the added fields at the end to preserve the structure field alignment.