Page MenuHomeFreeBSD

D23380.id.diff
No OneTemporary

D23380.id.diff

Index: head/sys/geom/geom_subr.c
===================================================================
--- head/sys/geom/geom_subr.c
+++ head/sys/geom/geom_subr.c
@@ -1134,8 +1134,11 @@
bp2->bio_completed += bp->bio_completed;
g_destroy_bio(bp);
bp2->bio_inbed++;
- if (bp2->bio_children == bp2->bio_inbed)
+ if (bp2->bio_children == bp2->bio_inbed) {
+ if (bp2->bio_cmd == BIO_SPEEDUP)
+ bp2->bio_completed = bp2->bio_length;
g_io_deliver(bp2, bp2->bio_error);
+ }
}
/* XXX: maybe this is only g_slice_spoiled */
Index: head/sys/geom/stripe/g_stripe.c
===================================================================
--- head/sys/geom/stripe/g_stripe.c
+++ head/sys/geom/stripe/g_stripe.c
@@ -298,6 +298,8 @@
mtx_unlock(&sc->sc_lock);
if (pbp->bio_driver1 != NULL)
uma_zfree(g_stripe_zone, pbp->bio_driver1);
+ if (bp->bio_cmd == BIO_SPEEDUP)
+ pbp->bio_completed = pbp->bio_length;
g_io_deliver(pbp, pbp->bio_error);
} else
mtx_unlock(&sc->sc_lock);

File Metadata

Mime Type
text/plain
Expires
Tue, Mar 17, 7:06 AM (19 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29799320
Default Alt Text
D23380.id.diff (990 B)

Event Timeline