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;