svn commit: r226011 - projects/geom-events/sys/geom/part
Andrey V. Elsukov
bu7cher at yandex.ru
Wed Oct 5 05:10:48 UTC 2011
On 04.10.2011 21:08, Lev A. Serebryakov wrote:
> Author: lev (ports committer)
> Date: Tue Oct 4 17:08:24 2011
> New Revision: 226011
> URL: http://svn.freebsd.org/changeset/base/226011
>
> Log:
> Add g_notify_*() calls to geom_part
>
> Modified:
> projects/geom-events/sys/geom/part/g_part.c
>
> Modified: projects/geom-events/sys/geom/part/g_part.c
> ==============================================================================
> --- projects/geom-events/sys/geom/part/g_part.c Tue Oct 4 17:07:56 2011 (r226010)
> +++ projects/geom-events/sys/geom/part/g_part.c Tue Oct 4 17:08:24 2011 (r226011)
> @@ -2016,6 +2016,7 @@ g_part_orphan(struct g_consumer *cp)
> {
> struct g_provider *pp;
> struct g_part_table *table;
> + struct g_part_entry *e;
>
> pp = cp->provider;
> KASSERT(pp != NULL, ("%s", __func__));
> @@ -2026,6 +2027,11 @@ g_part_orphan(struct g_consumer *cp)
> table = cp->geom->softc;
> if (table != NULL && table->gpt_opened)
> g_access(cp, -1, -1, -1);
> +
> + LIST_FOREACH(e, &table->gpt_entry, gpe_entry) {
> + g_notify_destroyed(e->gpe_pp);
> + }
> +
In some cases you can get panic here. Also geom_part can destroy its
providers in several places, not only when it is orphaned.
--
WBR, Andrey V. Elsukov
More information about the svn-src-projects
mailing list