Deleted Added
full compact
geom_dev.c (107834) geom_dev.c (108294)
1/*-
2 * Copyright (c) 2002 Poul-Henning Kamp
3 * Copyright (c) 2002 Networks Associates Technology, Inc.
4 * All rights reserved.
5 *
6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp
7 * and NAI Labs, the Security Research Division of Network Associates, Inc.
8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the

--- 18 unchanged lines hidden (view full) ---

27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
1/*-
2 * Copyright (c) 2002 Poul-Henning Kamp
3 * Copyright (c) 2002 Networks Associates Technology, Inc.
4 * All rights reserved.
5 *
6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp
7 * and NAI Labs, the Security Research Division of Network Associates, Inc.
8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the

--- 18 unchanged lines hidden (view full) ---

27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
35 * $FreeBSD: head/sys/geom/geom_dev.c 107834 2002-12-13 22:04:45Z phk $
35 * $FreeBSD: head/sys/geom/geom_dev.c 108294 2002-12-26 20:45:37Z phk $
36 */
37
38#include <sys/param.h>
39#include <sys/stdint.h>
40#include <sys/systm.h>
41#include <sys/malloc.h>
42#include <sys/kernel.h>
43#include <sys/conf.h>

--- 52 unchanged lines hidden (view full) ---

96 return (0);
97 printf("List of GEOM disk devices:\n ");
98 LIST_FOREACH(gp, &g_dev_class.geom, geom)
99 printf(" %s", gp->name);
100 printf("\n");
101 return (1);
102}
103
36 */
37
38#include <sys/param.h>
39#include <sys/stdint.h>
40#include <sys/systm.h>
41#include <sys/malloc.h>
42#include <sys/kernel.h>
43#include <sys/conf.h>

--- 52 unchanged lines hidden (view full) ---

96 return (0);
97 printf("List of GEOM disk devices:\n ");
98 LIST_FOREACH(gp, &g_dev_class.geom, geom)
99 printf(" %s", gp->name);
100 printf("\n");
101 return (1);
102}
103
104/*
105 * XXX: This is disgusting and wrong in every way imaginable: The only reason
106 * XXX: we have a clone function is because of the root-mount hack we currently
107 * XXX: employ. An improvment would be to unregister this cloner once we know
108 * XXX: we no longer need it. Ideally, root-fs would be mounted through DEVFS
109 * XXX: eliminating the need for this hack.
110 */
104static void
105g_dev_clone(void *arg __unused, char *name, int namelen __unused, dev_t *dev)
106{
107 struct g_geom *gp;
108
109 if (*dev != NODEV)
110 return;
111
112 g_waitidle();
113
111static void
112g_dev_clone(void *arg __unused, char *name, int namelen __unused, dev_t *dev)
113{
114 struct g_geom *gp;
115
116 if (*dev != NODEV)
117 return;
118
119 g_waitidle();
120
114 /* XXX: can I drop Giant here ??? */
115 /* g_topology_lock(); */
116 LIST_FOREACH(gp, &g_dev_class.geom, geom) {
117 if (strcmp(gp->name, name))
118 continue;
119 *dev = gp->softc;
120 g_trace(G_T_TOPOLOGY, "g_dev_clone(%s) = %p", name, *dev);
121 return;
122 }

--- 317 unchanged lines hidden ---
121 /* g_topology_lock(); */
122 LIST_FOREACH(gp, &g_dev_class.geom, geom) {
123 if (strcmp(gp->name, name))
124 continue;
125 *dev = gp->softc;
126 g_trace(G_T_TOPOLOGY, "g_dev_clone(%s) = %p", name, *dev);
127 return;
128 }

--- 317 unchanged lines hidden ---