Not necessarily objections but some concerns.
* As completion is done in bio terms, it makes completion from LLDs a
bit cumbersome, but this is unavoidable if we break sum(bio) == sum(sg).
* I've been wondering why we are not using sg chain / table or whatever
directly in bios and maybe rq_map_sg can go away in future.
How about separating out the padding / draining adjustment into a
separate interface? Say, blk_rq_apply_extra() and blk_rq_undo_extra()
and make it the responsibility of the LLD which requested
padding/draining to apply and undo the adjustments? It can undo the
adjustments when it returns the the request to its upper layer. If rq
completion is handled by upper layer, it will do the right thing. If rq
completion is handled by LLD, it can see the bio it wants to see.
Thanks.
--
tejun
--