dm: use bio_split() when splitting out the already processed bio
Use of bio_clone_bioset() is inefficient if there is no need to clone
the original bio's bio_vec array. Best to use the bio_clone_fast()
variant. Also, just using bio_advance() is only part of what is needed
to properly setup the clone -- it doesn't account for the various
bio_integrity() related work that also needs to be performed (see
bio_split).
Address both of these issues by switching from bio_clone_bioset() to
bio_split().
Fixes: 18a25da8 ("dm: ensure bio submission follows a depth-first tree walk")
Cc: [email protected] # 4.15+, requires removal of '&' before md->queue->bio_split
Reported-by: Christoph Hellwig <[email protected]>
Reviewed-by: NeilBrown <[email protected]>
Signed-off-by: Mike Snitzer <[email protected]>
1 file changed