Clone BIO_ORDERED flag, for disk drivers (namely CAM) that try to

consume it.

Sponsored by: Intel
Discussed with: gibbs, scottl
This commit is contained in:
jimharris 2012-08-07 20:16:10 +00:00
parent be00f071cd
commit 187bdeb55e

View File

@ -177,6 +177,12 @@ g_clone_bio(struct bio *bp)
if (bp2 != NULL) {
bp2->bio_parent = bp;
bp2->bio_cmd = bp->bio_cmd;
/*
* BIO_ORDERED flag may be used by disk drivers to enforce
* ordering restrictions, so this flag needs to be cloned.
* Other bio flags are not suitable for cloning.
*/
bp2->bio_flags = bp->bio_flags & BIO_ORDERED;
bp2->bio_length = bp->bio_length;
bp2->bio_offset = bp->bio_offset;
bp2->bio_data = bp->bio_data;