On Tue, Jul 12 2016, Lars Ellenberg wrote:
....
>
> Instead, I suggest to distinguish between recursive calls to
> generic_make_request(), and pushing back the remainder part in
> blk_queue_split(), by pointing current->bio_lists to a
> struct recursion_to_iteration_bio_lists {
> struct bio_list recursion;
> struct bio_list queue;
> }
>
> By providing each q->make_request_fn() with an empty "recursion"
> bio_list, then merging any recursively submitted bios to the
> head of the "queue" list, we can make the recursion-to-iteration
> logic in generic_make_request() process deepest level bios first,
> and "sibling" bios of the same level in "natural" order.
>
> Signed-off-by: Lars Ellenberg <[email protected]>
> Signed-off-by: Roland Kammerer <[email protected]>Reviewed-by: NeilBrown <[email protected]> Thanks again for doing this - I think this is a very significant improvement and could allow other simplifications. NeilBrown
signature.asc
Description: PGP signature
-- dm-devel mailing list [email protected] https://www.redhat.com/mailman/listinfo/dm-devel
