Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-11770

preserve kernel API when T10-PI patches are applied

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • Lustre 2.13.0, Lustre 2.12.4
    • Lustre 2.12.0
    • None
    • 3
    • 9223372036854775807

      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.

            adilger Andreas Dilger
            adilger Andreas Dilger
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: