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 --- |