Module Name:    src
Committed By:   pooka
Date:           Thu Dec  3 15:06:04 UTC 2009

Modified Files:
        src/sys/rump/dev/lib/libcgd: component.c
        src/sys/rump/dev/lib/libnetsmb: component.c
        src/sys/rump/dev/lib/libraidframe: component.c
        src/sys/rump/dev/lib/librnd: component.c
        src/sys/rump/librump/rumpvfs: devnodes.c rump_vfs.c

Log Message:
* create /dev on the rump rootfs automatically
* make rump_vfs_makedevnodes() take a full basepath instead of hardcoding
  an assumption that the device node is created in /dev
  + the caller is responsible that the directory the nodes are being
    created in exists


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/dev/lib/libcgd/component.c
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/lib/libnetsmb/component.c
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/dev/lib/libraidframe/component.c
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/lib/librnd/component.c
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/librump/rumpvfs/devnodes.c
cvs rdiff -u -r1.40 -r1.41 src/sys/rump/librump/rumpvfs/rump_vfs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/rump/dev/lib/libcgd/component.c
diff -u src/sys/rump/dev/lib/libcgd/component.c:1.3 src/sys/rump/dev/lib/libcgd/component.c:1.4
--- src/sys/rump/dev/lib/libcgd/component.c:1.3	Tue Dec  1 09:04:21 2009
+++ src/sys/rump/dev/lib/libcgd/component.c	Thu Dec  3 15:06:04 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: component.c,v 1.3 2009/12/01 09:04:21 pooka Exp $	*/
+/*	$NetBSD: component.c,v 1.4 2009/12/03 15:06:04 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.3 2009/12/01 09:04:21 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.4 2009/12/03 15:06:04 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -49,14 +49,14 @@
 	/* go, mydevfs */
 	bmaj = cmaj = -1;
 
-	if ((error = devsw_attach("cgd0", &cgd_bdevsw, &bmaj,
+	if ((error = devsw_attach("/dev/cgd0", &cgd_bdevsw, &bmaj,
 	    &cgd_cdevsw, &cmaj)) != 0)
 		panic("cannot attach cgd: %d", error);
 
 	if ((error = rump_vfs_makedevnodes(S_IFBLK, "cgd0", 'a',
 	    bmaj, 0, 7)) != 0)
 		panic("cannot create cooked cgd dev nodes: %d", error);
-	if ((error = rump_vfs_makedevnodes(S_IFCHR, "rcgd0", 'a',
+	if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/rcgd0", 'a',
 	    cmaj, 0, 7)) != 0)
 		panic("cannot create raw cgd dev nodes: %d", error);
 

Index: src/sys/rump/dev/lib/libnetsmb/component.c
diff -u src/sys/rump/dev/lib/libnetsmb/component.c:1.2 src/sys/rump/dev/lib/libnetsmb/component.c:1.3
--- src/sys/rump/dev/lib/libnetsmb/component.c:1.2	Sun Sep  6 20:42:26 2009
+++ src/sys/rump/dev/lib/libnetsmb/component.c	Thu Dec  3 15:06:04 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: component.c,v 1.2 2009/09/06 20:42:26 pooka Exp $	*/
+/*	$NetBSD: component.c,v 1.3 2009/12/03 15:06:04 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.2 2009/09/06 20:42:26 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.3 2009/12/03 15:06:04 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -50,7 +50,7 @@
 	bmaj = cmaj = NODEVMAJOR;
 	if ((error = devsw_attach("nsmb", NULL, &bmaj, &nsmb_cdevsw, &cmaj))!=0)
 		panic("nsmb devsw attach failed: %d", error);
-	if ((error = rump_vfs_makedevnodes(S_IFCHR, "nsmb", '0',
+	if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/nsmb", '0',
 	    cmaj, 0, 4)) != 0)
 		panic("cannot create nsmb device nodes: %d", error);
 

Index: src/sys/rump/dev/lib/libraidframe/component.c
diff -u src/sys/rump/dev/lib/libraidframe/component.c:1.3 src/sys/rump/dev/lib/libraidframe/component.c:1.4
--- src/sys/rump/dev/lib/libraidframe/component.c:1.3	Mon Sep  7 14:28:18 2009
+++ src/sys/rump/dev/lib/libraidframe/component.c	Thu Dec  3 15:06:04 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: component.c,v 1.3 2009/09/07 14:28:18 pooka Exp $	*/
+/*	$NetBSD: component.c,v 1.4 2009/12/03 15:06:04 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.3 2009/09/07 14:28:18 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.4 2009/12/03 15:06:04 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -55,10 +55,10 @@
 	    &raid_cdevsw, &cmaj)) != 0)
 		panic("raid devsw attach failed: %d", error);
 
-	if ((error = rump_vfs_makedevnodes(S_IFBLK, "raid0", 'a',
+	if ((error = rump_vfs_makedevnodes(S_IFBLK, "/dev/raid0", 'a',
 	    bmaj, 0, 7)) != 0)
 		panic("cannot create cooked raid dev nodes: %d", error);
-	if ((error = rump_vfs_makedevnodes(S_IFCHR, "rraid0", 'a',
+	if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/rraid0", 'a',
 	    cmaj, 0, 7)) != 0)
 		panic("cannot create raw raid dev nodes: %d", error);
 

Index: src/sys/rump/dev/lib/librnd/component.c
diff -u src/sys/rump/dev/lib/librnd/component.c:1.1 src/sys/rump/dev/lib/librnd/component.c:1.2
--- src/sys/rump/dev/lib/librnd/component.c:1.1	Tue Sep  8 20:12:52 2009
+++ src/sys/rump/dev/lib/librnd/component.c	Thu Dec  3 15:06:04 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: component.c,v 1.1 2009/09/08 20:12:52 pooka Exp $	*/
+/*	$NetBSD: component.c,v 1.2 2009/12/03 15:06:04 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.1 2009/09/08 20:12:52 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.2 2009/12/03 15:06:04 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -54,10 +54,10 @@
 		panic("cannot attach rnd: %d", error);
 
 	/* XXX: truly hideous interface abuse */
-	if ((error = rump_vfs_makedevnodes(S_IFCHR, "random", 0,
+	if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/random", 0,
 	    cmaj, RND_DEV_RANDOM, 1)) != 0)
 		panic("cannot create /dev/random: %d", error);
-	if ((error = rump_vfs_makedevnodes(S_IFCHR, "urandom", 0,
+	if ((error = rump_vfs_makedevnodes(S_IFCHR, "/dev/urandom", 0,
 	    cmaj, RND_DEV_URANDOM, 1)) != 0)
 		panic("cannot create /dev/urandom: %d", error);
 

Index: src/sys/rump/librump/rumpvfs/devnodes.c
diff -u src/sys/rump/librump/rumpvfs/devnodes.c:1.1 src/sys/rump/librump/rumpvfs/devnodes.c:1.2
--- src/sys/rump/librump/rumpvfs/devnodes.c:1.1	Sun Sep  6 20:42:25 2009
+++ src/sys/rump/librump/rumpvfs/devnodes.c	Thu Dec  3 15:06:04 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: devnodes.c,v 1.1 2009/09/06 20:42:25 pooka Exp $	*/
+/*	$NetBSD: devnodes.c,v 1.2 2009/12/03 15:06:04 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: devnodes.c,v 1.1 2009/09/06 20:42:25 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: devnodes.c,v 1.2 2009/12/03 15:06:04 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -48,14 +48,9 @@
 	size_t devlen;
 	register_t retval;
 
-	error = do_sys_mkdir("/dev", 0777, UIO_SYSSPACE);
-	if (error != 0 && error != EEXIST)
-		return error;
-
-	devlen = strlen("/dev/") + strlen(basename) + 1 + 1; /* +letter +0 */
+	devlen = strlen(basename) + 1 + 1; /* +letter +0 */
 	devname = kmem_zalloc(devlen, KM_SLEEP);
-	strlcpy(devname, "/dev/", devlen);
-	strlcat(devname, basename, devlen);
+	strlcpy(devname, basename, devlen);
 	p = devname + devlen-2;
 
 	for (; nnodes > 0; nnodes--, minchar++, minnum++) {

Index: src/sys/rump/librump/rumpvfs/rump_vfs.c
diff -u src/sys/rump/librump/rumpvfs/rump_vfs.c:1.40 src/sys/rump/librump/rumpvfs/rump_vfs.c:1.41
--- src/sys/rump/librump/rumpvfs/rump_vfs.c:1.40	Thu Dec  3 12:52:42 2009
+++ src/sys/rump/librump/rumpvfs/rump_vfs.c	Thu Dec  3 15:06:04 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump_vfs.c,v 1.40 2009/12/03 12:52:42 pooka Exp $	*/
+/*	$NetBSD: rump_vfs.c,v 1.41 2009/12/03 15:06:04 pooka Exp $	*/
 
 /*
  * Copyright (c) 2008 Antti Kantee.  All Rights Reserved.
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump_vfs.c,v 1.40 2009/12/03 12:52:42 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump_vfs.c,v 1.41 2009/12/03 15:06:04 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/buf.h>
@@ -119,6 +119,9 @@
 	vfs_attach(&rumpfs_vfsops);
 	vfs_mountroot();
 
+	/* "mtree": create /dev */
+	do_sys_mkdir("/dev", 0777, UIO_SYSSPACE);
+
 	rump_proc_vfs_init = pvfs_init;
 	rump_proc_vfs_release = pvfs_rele;
 

Reply via email to