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

preserve kernel API when T10-PI patches are applied

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: Lustre 2.12.0
    • Fix Version/s: Lustre 2.13.0, Lustre 2.12.1
    • Labels:
      None
    • Severity:
      3
    • Rank (Obsolete):
      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.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: