Changeset View
Changeset View
Standalone View
Standalone View
sys/geom/geom_subr.c
Show First 20 Lines • Show All 569 Lines • ▼ Show 20 Lines | g_new_provider_event(void *arg, int flag) | ||||
g_topology_assert(); | g_topology_assert(); | ||||
if (flag == EV_CANCEL) | if (flag == EV_CANCEL) | ||||
return; | return; | ||||
if (g_shutdown) | if (g_shutdown) | ||||
return; | return; | ||||
pp = arg; | pp = arg; | ||||
G_VALID_PROVIDER(pp); | G_VALID_PROVIDER(pp); | ||||
KASSERT(!(pp->flags & G_PF_WITHER), | if ((pp->flags & G_PF_WITHER) != 0) | ||||
("g_new_provider_event but withered")); | return; | ||||
LIST_FOREACH_SAFE(cp, &pp->consumers, consumers, next_cp) { | LIST_FOREACH_SAFE(cp, &pp->consumers, consumers, next_cp) { | ||||
if ((cp->flags & G_CF_ORPHAN) == 0 && | if ((cp->flags & G_CF_ORPHAN) == 0 && | ||||
cp->geom->attrchanged != NULL) | cp->geom->attrchanged != NULL) | ||||
cp->geom->attrchanged(cp, "GEOM::media"); | cp->geom->attrchanged(cp, "GEOM::media"); | ||||
} | } | ||||
if (g_notaste) | if (g_notaste) | ||||
return; | return; | ||||
LIST_FOREACH(mp, &g_classes, class) { | LIST_FOREACH(mp, &g_classes, class) { | ||||
▲ Show 20 Lines • Show All 1,089 Lines • Show Last 20 Lines |