> Many of the fields in struct bio_integrity_data are only needed for > the default integrity buffer in the block layer, and the variable > sized array at the end of the structure makes it very hard to embed > into caller allocated structures. > > Reduce struct bio_integrity_data to the minimal structure needed in > common code, and create containing structures for the payload + bvec > allocation for submitter provided buffers, and the default integrity > code. Stop using mempools for the submitter buffers as they don't sit > below the I/O stack, and instead always use the mempool for automatic > integrity metadata instead of depending on bio_set that is submitter > controlled and thus often doesn't have the mempool initialized. > Like Kanchan already pointed out, it seems you are referring to bio_integrity_payload instead of bio_integrity data in patch title and commit description.