Page MenuHomeFreeBSD

D12469.id33343.diff
No OneTemporary

D12469.id33343.diff

Index: sys/geom/geom_subr.c
===================================================================
--- sys/geom/geom_subr.c
+++ sys/geom/geom_subr.c
@@ -631,6 +631,14 @@
LIST_FOREACH_SAFE(cp, &pp->consumers, consumers, cp2) {
gp = cp->geom;
if (gp->resize == NULL && size < pp->mediasize) {
+ /*
+ * XXX: g_dev_orphan method does deferred destroying
+ * and it is possible, that other event could already
+ * call the orphan method. Check consumer's flags to
+ * do not schedule it twice.
+ */
+ if (cp->flags & G_CF_ORPHAN)
+ continue;
cp->flags |= G_CF_ORPHAN;
cp->geom->orphan(cp);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Jul 4, 3:35 AM (1 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34649377
Default Alt Text
D12469.id33343.diff (625 B)

Event Timeline