From 39714cb212e38a31abbdf01349fcc0211dd6f073 Mon Sep 17 00:00:00 2001 From: thompsa Date: Fri, 10 Apr 2009 04:08:34 +0000 Subject: Revert r190676,190677 The geom and CAM changes for root_hold are the wrong solution for USB design quirks. Requested by: scottl --- sys/geom/geom.h | 2 -- sys/geom/geom_disk.c | 2 -- sys/geom/geom_disk.h | 2 -- sys/geom/geom_subr.c | 5 ----- sys/geom/journal/g_journal.c | 2 +- sys/geom/mirror/g_mirror.c | 2 +- sys/geom/part/g_part.c | 2 +- sys/geom/raid3/g_raid3.c | 2 +- 8 files changed, 4 insertions(+), 15 deletions(-) (limited to 'sys/geom') diff --git a/sys/geom/geom.h b/sys/geom/geom.h index 38c6c75..a916ec5 100644 --- a/sys/geom/geom.h +++ b/sys/geom/geom.h @@ -193,8 +193,6 @@ struct g_provider { /* Two fields for the implementing class to use */ void *private; u_int index; - - struct root_hold_token *roothold; }; /* geom_dev.c */ diff --git a/sys/geom/geom_disk.c b/sys/geom/geom_disk.c index 3b1e748..20998bd 100644 --- a/sys/geom/geom_disk.c +++ b/sys/geom/geom_disk.c @@ -381,7 +381,6 @@ g_disk_create(void *arg, int flag) printf("GEOM: new disk %s\n", gp->name); dp->d_geom = gp; g_error_provider(pp, 0); - root_mount_rel(dp->d_roothold); } static void @@ -468,7 +467,6 @@ disk_create(struct disk *dp, int version) dp->d_sectorsize, DEVSTAT_ALL_SUPPORTED, DEVSTAT_TYPE_DIRECT, DEVSTAT_PRIORITY_MAX); dp->d_geom = NULL; - dp->d_roothold = root_mount_hold(dp->d_name, M_WAITOK); g_disk_ident_adjust(dp->d_ident, sizeof(dp->d_ident)); g_post_event(g_disk_create, dp, M_WAITOK, dp, NULL); } diff --git a/sys/geom/geom_disk.h b/sys/geom/geom_disk.h index a3e1efb..5e9d1aa 100644 --- a/sys/geom/geom_disk.h +++ b/sys/geom/geom_disk.h @@ -88,8 +88,6 @@ struct disk { /* Fields private to the driver */ void *d_drv1; - - struct root_hold_token *d_roothold; }; #define DISKFLAG_NEEDSGIANT 0x1 diff --git a/sys/geom/geom_subr.c b/sys/geom/geom_subr.c index 85d8028..b67c0d5 100644 --- a/sys/geom/geom_subr.c +++ b/sys/geom/geom_subr.c @@ -545,10 +545,6 @@ g_new_provider_event(void *arg, int flag) mp->taste(mp, pp, 0); g_topology_assert(); } - if (pp->roothold != NULL) { - root_mount_rel(pp->roothold); - pp->roothold = NULL; - } } @@ -585,7 +581,6 @@ g_new_providerf(struct g_geom *gp, const char *fmt, ...) pp->stat = devstat_new_entry(pp, -1, 0, DEVSTAT_ALL_SUPPORTED, DEVSTAT_TYPE_DIRECT, DEVSTAT_PRIORITY_MAX); LIST_INSERT_HEAD(&gp->provider, pp, provider); - pp->roothold = root_mount_hold(pp->name, M_WAITOK); g_post_event(g_new_provider_event, pp, M_WAITOK, pp, gp, NULL); return (pp); } diff --git a/sys/geom/journal/g_journal.c b/sys/geom/journal/g_journal.c index d3274a2..2db2364 100644 --- a/sys/geom/journal/g_journal.c +++ b/sys/geom/journal/g_journal.c @@ -2310,7 +2310,7 @@ g_journal_create(struct g_class *mp, struct g_provider *pp, sc->sc_inactive.jj_queue = NULL; sc->sc_active.jj_queue = NULL; - sc->sc_rootmount = root_mount_hold("GJOURNAL", M_WAITOK); + sc->sc_rootmount = root_mount_hold("GJOURNAL"); GJ_DEBUG(1, "root_mount_hold %p", sc->sc_rootmount); callout_init(&sc->sc_callout, CALLOUT_MPSAFE); diff --git a/sys/geom/mirror/g_mirror.c b/sys/geom/mirror/g_mirror.c index 85b5b24..13ff6ea 100644 --- a/sys/geom/mirror/g_mirror.c +++ b/sys/geom/mirror/g_mirror.c @@ -2907,7 +2907,7 @@ g_mirror_create(struct g_class *mp, const struct g_mirror_metadata *md) G_MIRROR_DEBUG(1, "Device %s created (%u components, id=%u).", sc->sc_name, sc->sc_ndisks, sc->sc_id); - sc->sc_rootmount = root_mount_hold("GMIRROR", M_WAITOK); + sc->sc_rootmount = root_mount_hold("GMIRROR"); G_MIRROR_DEBUG(1, "root_mount_hold %p", sc->sc_rootmount); /* * Run timeout. diff --git a/sys/geom/part/g_part.c b/sys/geom/part/g_part.c index 58fa797..447221a 100644 --- a/sys/geom/part/g_part.c +++ b/sys/geom/part/g_part.c @@ -1474,7 +1474,7 @@ g_part_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) return (NULL); } - rht = root_mount_hold(mp->name, M_WAITOK); + rht = root_mount_hold(mp->name); g_topology_unlock(); /* diff --git a/sys/geom/raid3/g_raid3.c b/sys/geom/raid3/g_raid3.c index cb19ef2..1cbce25 100644 --- a/sys/geom/raid3/g_raid3.c +++ b/sys/geom/raid3/g_raid3.c @@ -3193,7 +3193,7 @@ g_raid3_create(struct g_class *mp, const struct g_raid3_metadata *md) G_RAID3_DEBUG(1, "Device %s created (%u components, id=%u).", sc->sc_name, sc->sc_ndisks, sc->sc_id); - sc->sc_rootmount = root_mount_hold("GRAID3", M_WAITOK); + sc->sc_rootmount = root_mount_hold("GRAID3"); G_RAID3_DEBUG(1, "root_mount_hold %p", sc->sc_rootmount); /* -- cgit v1.1