Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/rump/dev Add rump component for md(4).



details:   https://anonhg.NetBSD.org/src/rev/cd735016d8d9
branches:  trunk
changeset: 758974:cd735016d8d9
user:      pooka <pooka%NetBSD.org@localhost>
date:      Mon Nov 22 21:20:32 2010 +0000

description:
Add rump component for md(4).

Now, let's say you start a rump server and configure a memory disk
on it.  Remote (as in TCP remote) clients may now access that
memory.

cloudy, my apps are scattered and they're cloudy
they have no borders, no boundaries

diffstat:

 sys/rump/dev/Makefile.rumpdev        |   4 +-
 sys/rump/dev/lib/libmd/MD.ioconf     |   8 ++++
 sys/rump/dev/lib/libmd/Makefile      |  15 ++++++++
 sys/rump/dev/lib/libmd/component.c   |  61 ++++++++++++++++++++++++++++++++++++
 sys/rump/dev/lib/libmd/shlib_version |   4 ++
 5 files changed, 90 insertions(+), 2 deletions(-)

diffs (117 lines):

diff -r 448a01a87462 -r cd735016d8d9 sys/rump/dev/Makefile.rumpdev
--- a/sys/rump/dev/Makefile.rumpdev     Mon Nov 22 21:10:10 2010 +0000
+++ b/sys/rump/dev/Makefile.rumpdev     Mon Nov 22 21:20:32 2010 +0000
@@ -1,7 +1,7 @@
-#      $NetBSD: Makefile.rumpdev,v 1.16 2010/08/24 11:23:35 pooka Exp $
+#      $NetBSD: Makefile.rumpdev,v 1.17 2010/11/22 21:20:32 pooka Exp $
 #
 
-RUMPDEVLIST=   audio bpf cgd disk dm fss netsmb pad putter raidframe   \
+RUMPDEVLIST=   audio bpf cgd disk dm fss md netsmb pad putter raidframe \
                rnd scsipi scsitest sysmon ubt ucom ugenhc ulpt umass usb wscons
 
 .for var in ${RUMPDEVLIST}
diff -r 448a01a87462 -r cd735016d8d9 sys/rump/dev/lib/libmd/MD.ioconf
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/rump/dev/lib/libmd/MD.ioconf  Mon Nov 22 21:20:32 2010 +0000
@@ -0,0 +1,8 @@
+#      $NetBSD: MD.ioconf,v 1.1 2010/11/22 21:20:32 pooka Exp $
+#
+
+ioconf md
+
+include "conf/files"
+
+pseudo-device md
diff -r 448a01a87462 -r cd735016d8d9 sys/rump/dev/lib/libmd/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/rump/dev/lib/libmd/Makefile   Mon Nov 22 21:20:32 2010 +0000
@@ -0,0 +1,15 @@
+#      $NetBSD: Makefile,v 1.1 2010/11/22 21:20:32 pooka Exp $
+#
+
+.PATH: ${.CURDIR}/../../../../dev
+
+LIB=   rumpdev_md
+IOCONF=        MD.ioconf
+
+SRCS=  md.c
+SRCS+= component.c
+
+CPPFLAGS+=     -I${.CURDIR}/../../../librump/rumpvfs
+
+.include <bsd.lib.mk>
+.include <bsd.klinks.mk>
diff -r 448a01a87462 -r cd735016d8d9 sys/rump/dev/lib/libmd/component.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/rump/dev/lib/libmd/component.c        Mon Nov 22 21:20:32 2010 +0000
@@ -0,0 +1,61 @@
+/*     $NetBSD: component.c,v 1.1 2010/11/22 21:20:32 pooka Exp $      */
+
+/*
+ * Copyright (c) 2010 Antti Kantee.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: component.c,v 1.1 2010/11/22 21:20:32 pooka Exp $");
+
+#include <sys/param.h>
+#include <sys/conf.h>
+#include <sys/device.h>
+#include <sys/mbuf.h>
+#include <sys/stat.h>
+
+#include "ioconf.c"
+
+#include "rump_private.h"
+#include "rump_dev_private.h"
+#include "rump_vfs_private.h"
+
+extern void mdattach(int); /* XXX */
+
+RUMP_COMPONENT(RUMP_COMPONENT_DEV)
+{
+        extern const struct bdevsw md_bdevsw;
+        extern const struct cdevsw md_cdevsw;
+       devmajor_t bmaj, cmaj;
+       int error;
+
+       config_init_component(cfdriver_ioconf_md,
+           cfattach_ioconf_md, cfdata_ioconf_md);
+
+       bmaj = cmaj = NODEVMAJOR;
+       if ((error = devsw_attach("md", &md_bdevsw, &bmaj,
+           &md_cdevsw, &cmaj)) != 0)
+               panic("audio devsw attach failed: %d", error);
+
+       rump_pdev_add(mdattach, 0);
+}
diff -r 448a01a87462 -r cd735016d8d9 sys/rump/dev/lib/libmd/shlib_version
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/rump/dev/lib/libmd/shlib_version      Mon Nov 22 21:20:32 2010 +0000
@@ -0,0 +1,4 @@
+#      $NetBSD: shlib_version,v 1.1 2010/11/22 21:20:32 pooka Exp $
+#
+major=0
+minor=0



Home | Main Index | Thread Index | Old Index