On Fri, Nov 11 2016, Christoph Hellwig wrote: > > Another not quite as urgent issue is how the RAID5 code abuses > ->bi_phys_segments as and outstanding I/O counter, and I have no > really good answer to that either.
I would suggest adding a "bi_dev_private" field to the bio which is for
use by the lowest-level driver (much as bi_private is for use by the
top-level initiator).
That could be in a union with any or all of:
unsigned int bi_phys_segments;
unsigned int bi_seg_front_size;
unsigned int bi_seg_back_size;
(any driver that needs those, would see a 'request' rather than a 'bio'
and so could use rq->special)
raid5.c could then use bi_dev_private (or bi_special, or whatever it is call).
NeilBrown
signature.asc
Description: PGP signature
