Module Name: src
Committed By: uch
Date: Sun Jul 24 08:55:31 UTC 2011
Modified Files:
src/distrib/sets/lists/base: mi shl.mi
src/distrib/sets/lists/comp: mi shl.mi
src/distrib/sets/lists/man: mi
src/sys/rump/fs: Makefile.rumpfscomp
src/usr.sbin/puffs: Makefile makerumpmanpages.sh
Added Files:
src/sys/rump/fs/lib/libv7fs: Makefile shlib_version
src/usr.sbin/puffs/rump_v7fs: rump_v7fs.8 rump_v7fs.c
Log Message:
v7fs rump support
To generate a diff of this commit:
cvs rdiff -u -r1.944 -r1.945 src/distrib/sets/lists/base/mi
cvs rdiff -u -r1.592 -r1.593 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.1646 -r1.1647 src/distrib/sets/lists/comp/mi
cvs rdiff -u -r1.181 -r1.182 src/distrib/sets/lists/comp/shl.mi
cvs rdiff -u -r1.1325 -r1.1326 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/fs/Makefile.rumpfscomp
cvs rdiff -u -r0 -r1.1 src/sys/rump/fs/lib/libv7fs/Makefile \
src/sys/rump/fs/lib/libv7fs/shlib_version
cvs rdiff -u -r1.15 -r1.16 src/usr.sbin/puffs/Makefile
cvs rdiff -u -r1.12 -r1.13 src/usr.sbin/puffs/makerumpmanpages.sh
cvs rdiff -u -r0 -r1.1 src/usr.sbin/puffs/rump_v7fs/rump_v7fs.8 \
src/usr.sbin/puffs/rump_v7fs/rump_v7fs.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/lists/base/mi
diff -u src/distrib/sets/lists/base/mi:1.944 src/distrib/sets/lists/base/mi:1.945
--- src/distrib/sets/lists/base/mi:1.944 Sat Jul 9 21:24:29 2011
+++ src/distrib/sets/lists/base/mi Sun Jul 24 08:55:28 2011
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.944 2011/07/09 21:24:29 tron Exp $
+# $NetBSD: mi,v 1.945 2011/07/24 08:55:28 uch Exp $
#
# Note: Don't delete entries from here - mark them as "obsolete" instead,
# unless otherwise stated below.
@@ -1402,6 +1402,7 @@
./usr/sbin/rump_sysvbfs base-puffs-bin
./usr/sbin/rump_tmpfs base-puffs-bin
./usr/sbin/rump_udf base-puffs-bin
+./usr/sbin/rump_v7fs base-puffs-bin
./usr/sbin/rwhod base-netutil-bin
./usr/sbin/sa base-sysutil-bin
./usr/sbin/screenblank base-sysutil-bin
Index: src/distrib/sets/lists/base/shl.mi
diff -u src/distrib/sets/lists/base/shl.mi:1.592 src/distrib/sets/lists/base/shl.mi:1.593
--- src/distrib/sets/lists/base/shl.mi:1.592 Tue Jul 5 22:05:36 2011
+++ src/distrib/sets/lists/base/shl.mi Sun Jul 24 08:55:28 2011
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.592 2011/07/05 22:05:36 spz Exp $
+# $NetBSD: shl.mi,v 1.593 2011/07/24 08:55:28 uch Exp $
#
# Note: Don't delete entries from here - mark them as "obsolete" instead,
# unless otherwise stated below.
@@ -556,6 +556,9 @@
./usr/lib/librumpfs_union.so base-rump-shlib
./usr/lib/librumpfs_union.so.0 base-rump-shlib
./usr/lib/librumpfs_union.so.0.0 base-rump-shlib
+./usr/lib/librumpfs_v7fs.so base-rump-shlib
+./usr/lib/librumpfs_v7fs.so.0 base-rump-shlib
+./usr/lib/librumpfs_v7fs.so.0.0 base-rump-shlib
./usr/lib/librumpfs_zfs.so base-rump-shlib zfs
./usr/lib/librumpfs_zfs.so.0 base-rump-shlib zfs
./usr/lib/librumpfs_zfs.so.0.0 base-rump-shlib zfs
Index: src/distrib/sets/lists/comp/mi
diff -u src/distrib/sets/lists/comp/mi:1.1646 src/distrib/sets/lists/comp/mi:1.1647
--- src/distrib/sets/lists/comp/mi:1.1646 Thu Jul 21 03:13:31 2011
+++ src/distrib/sets/lists/comp/mi Sun Jul 24 08:55:29 2011
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1646 2011/07/21 03:13:31 mrg Exp $
+# $NetBSD: mi,v 1.1647 2011/07/24 08:55:29 uch Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -3140,6 +3140,9 @@
./usr/lib/librumpfs_union.a comp-c-lib
./usr/lib/librumpfs_union_g.a -unknown- debuglib
./usr/lib/librumpfs_union_p.a comp-c-proflib profile
+./usr/lib/librumpfs_v7fs.a comp-c-lib
+./usr/lib/librumpfs_v7fs_g.a -unknown- debuglib
+./usr/lib/librumpfs_v7fs_p.a comp-c-proflib profile
./usr/lib/librumpfs_zfs.a comp-c-lib zfs
./usr/lib/librumpfs_zfs_g.a -unknown- zfs,debuglib
./usr/lib/librumpfs_zfs_p.a comp-c-piclib zfs,profile
@@ -4189,6 +4192,7 @@
./usr/libdata/debug/usr/sbin/rump_sysvbfs.debug comp-puffs-debug debug
./usr/libdata/debug/usr/sbin/rump_tmpfs.debug comp-puffs-debug debug
./usr/libdata/debug/usr/sbin/rump_udf.debug comp-puffs-debug debug
+./usr/libdata/debug/usr/sbin/rump_v7fs.debug comp-puffs-debug debug
./usr/libdata/debug/usr/sbin/rwhod.debug comp-netutil-debug debug
./usr/libdata/debug/usr/sbin/sa.debug comp-sysutil-debug debug
./usr/libdata/debug/usr/sbin/schedctl.debug comp-sysutil-debug debug
Index: src/distrib/sets/lists/comp/shl.mi
diff -u src/distrib/sets/lists/comp/shl.mi:1.181 src/distrib/sets/lists/comp/shl.mi:1.182
--- src/distrib/sets/lists/comp/shl.mi:1.181 Thu Jul 21 03:13:32 2011
+++ src/distrib/sets/lists/comp/shl.mi Sun Jul 24 08:55:30 2011
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.181 2011/07/21 03:13:32 mrg Exp $
+# $NetBSD: shl.mi,v 1.182 2011/07/24 08:55:30 uch Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -167,6 +167,7 @@
./usr/lib/librumpfs_umap_pic.a comp-c-piclib
./usr/lib/librumpfs_umapfs_pic.a comp-obsolete obsolete
./usr/lib/librumpfs_union_pic.a comp-c-piclib
+./usr/lib/librumpfs_v7fs_pic.a comp-c-piclib
./usr/lib/librumpfs_zfs_pic.a comp-c-piclib zfs
./usr/lib/librumphijack_pic.a comp-c-piclib
./usr/lib/librumpkern_crypto_pic.a comp-c-piclib
@@ -370,6 +371,7 @@
./usr/libdata/debug/usr/lib/librumpfs_udf.so.0.0.debug comp-rump-debug debug
./usr/libdata/debug/usr/lib/librumpfs_umap.so.0.0.debug comp-rump-debug debug
./usr/libdata/debug/usr/lib/librumpfs_union.so.0.0.debug comp-rump-debug debug
+./usr/libdata/debug/usr/lib/librumpfs_v7fs.so.0.0.debug comp-rump-debug debug
./usr/libdata/debug/usr/lib/librumpfs_zfs.so.0.0.debug comp-rump-debug debug,zfs
./usr/libdata/debug/usr/lib/librumphijack.so.0.0.debug comp-rump-debug debug
./usr/libdata/debug/usr/lib/librumpkern_crypto.so.0.0.debug comp-rump-debug debug
Index: src/distrib/sets/lists/man/mi
diff -u src/distrib/sets/lists/man/mi:1.1325 src/distrib/sets/lists/man/mi:1.1326
--- src/distrib/sets/lists/man/mi:1.1325 Wed Jul 20 20:51:11 2011
+++ src/distrib/sets/lists/man/mi Sun Jul 24 08:55:30 2011
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1325 2011/07/20 20:51:11 jakllsch Exp $
+# $NetBSD: mi,v 1.1326 2011/07/24 08:55:30 uch Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -2708,6 +2708,7 @@
./usr/share/man/cat8/rump_sysvbfs.0 man-puffs-catman .cat
./usr/share/man/cat8/rump_tmpfs.0 man-puffs-catman .cat
./usr/share/man/cat8/rump_udf.0 man-puffs-catman .cat
+./usr/share/man/cat8/rump_v7fs.0 man-puffs-catman .cat
./usr/share/man/cat8/rusersd.0 man-netutil-catman .cat
./usr/share/man/cat8/rwalld.0 man-netutil-catman .cat
./usr/share/man/cat8/rwhod.0 man-netutil-catman .cat
@@ -5252,6 +5253,7 @@
./usr/share/man/html8/rump_sysvbfs.html man-puffs-htmlman html
./usr/share/man/html8/rump_tmpfs.html man-puffs-htmlman html
./usr/share/man/html8/rump_udf.html man-puffs-htmlman html
+./usr/share/man/html8/rump_v7fs.html man-puffs-htmlman html
./usr/share/man/html8/rusersd.html man-netutil-htmlman html
./usr/share/man/html8/rwalld.html man-netutil-htmlman html
./usr/share/man/html8/rwhod.html man-netutil-htmlman html
@@ -8077,6 +8079,7 @@
./usr/share/man/man8/rump_sysvbfs.8 man-puffs-man .man
./usr/share/man/man8/rump_tmpfs.8 man-puffs-man .man
./usr/share/man/man8/rump_udf.8 man-puffs-man .man
+./usr/share/man/man8/rump_v7fs.8 man-puffs-man .man
./usr/share/man/man8/rusersd.8 man-netutil-man .man
./usr/share/man/man8/rwalld.8 man-netutil-man .man
./usr/share/man/man8/rwhod.8 man-netutil-man .man
Index: src/sys/rump/fs/Makefile.rumpfscomp
diff -u src/sys/rump/fs/Makefile.rumpfscomp:1.3 src/sys/rump/fs/Makefile.rumpfscomp:1.4
--- src/sys/rump/fs/Makefile.rumpfscomp:1.3 Sat Mar 5 03:15:25 2011
+++ src/sys/rump/fs/Makefile.rumpfscomp Sun Jul 24 08:55:30 2011
@@ -1,11 +1,11 @@
-# $NetBSD: Makefile.rumpfscomp,v 1.3 2011/03/05 03:15:25 joerg Exp $
+# $NetBSD: Makefile.rumpfscomp,v 1.4 2011/07/24 08:55:30 uch Exp $
#
.include <bsd.own.mk>
RUMPFSCOMP= cd9660 efs ext2fs fdesc ffs hfs kernfs lfs mfs msdos \
nfs nilfs ntfs null ptyfs smbfs syspuffs sysvbfs \
- tmpfs udf umap union
+ tmpfs udf umap union v7fs
.if ${MKZFS} != "no"
RUMPFSCOMP+= zfs
Index: src/usr.sbin/puffs/Makefile
diff -u src/usr.sbin/puffs/Makefile:1.15 src/usr.sbin/puffs/Makefile:1.16
--- src/usr.sbin/puffs/Makefile:1.15 Sun Jul 11 06:16:54 2010
+++ src/usr.sbin/puffs/Makefile Sun Jul 24 08:55:30 2011
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.15 2010/07/11 06:16:54 mrg Exp $
+# $NetBSD: Makefile,v 1.16 2011/07/24 08:55:30 uch Exp $
.include <bsd.own.mk>
@@ -6,7 +6,7 @@
SUBDIR+=rump_cd9660 rump_efs rump_ext2fs rump_ffs rump_hfs rump_lfs
SUBDIR+=rump_msdos rump_nfs rump_ntfs rump_syspuffs rump_sysvbfs
-SUBDIR+=rump_tmpfs rump_udf
+SUBDIR+=rump_tmpfs rump_udf rump_v7fs
.if ${MKCRYPTO} != "no"
SUBDIR+=rump_smbfs
Index: src/usr.sbin/puffs/makerumpmanpages.sh
diff -u src/usr.sbin/puffs/makerumpmanpages.sh:1.12 src/usr.sbin/puffs/makerumpmanpages.sh:1.13
--- src/usr.sbin/puffs/makerumpmanpages.sh:1.12 Mon Nov 22 07:56:31 2010
+++ src/usr.sbin/puffs/makerumpmanpages.sh Sun Jul 24 08:55:30 2011
@@ -1,12 +1,12 @@
#!/bin/sh
#
-# $NetBSD: makerumpmanpages.sh,v 1.12 2010/11/22 07:56:31 pooka Exp $
+# $NetBSD: makerumpmanpages.sh,v 1.13 2011/07/24 08:55:30 uch Exp $
#
IFS=' '
COPYRIGHT='.\" WARNING: GENERATED FILE, DO NOT EDIT
.\" INSTEAD, EDIT makerumpmanpages.sh AND REGEN
-.\" from: $NetBSD: makerumpmanpages.sh,v 1.12 2010/11/22 07:56:31 pooka Exp $
+.\" from: $NetBSD: makerumpmanpages.sh,v 1.13 2011/07/24 08:55:30 uch Exp $
.\"
.\" Copyright (c) 2008-2010 Antti Kantee. All rights reserved.
.\"
@@ -156,7 +156,7 @@
.Nx xxxfirstxxx .'
# vary manpages slightly based on the type of server in question
-disk="cd9660 efs ext2fs ffs hfs lfs msdos ntfs sysvbfs udf"
+disk="cd9660 efs ext2fs ffs hfs lfs msdos ntfs sysvbfs udf v7fs"
net="nfs smbfs"
fictional="fdesc kernfs tmpfs"
special="au-naturel nqmfs syspuffs"
@@ -220,7 +220,7 @@
fsc=`echo $fs | tr '[:lower:]' '[:upper:]'`
eval sedstr="${sedsub}"
- printf '.\\" $NetBSD: makerumpmanpages.sh,v 1.12 2010/11/22 07:56:31 pooka Exp $\n.\\"\n' > rump_${fs}/rump_${fs}.8
+ printf '.\\" $NetBSD: makerumpmanpages.sh,v 1.13 2011/07/24 08:55:30 uch Exp $\n.\\"\n' > rump_${fs}/rump_${fs}.8
echo ${COPYRIGHT} | sed -e 's/\$//g' >> rump_${fs}/rump_${fs}.8
echo ${MANTMPL1} | sed -e "$sedstr" >> rump_${fs}/rump_${fs}.8
Added files:
Index: src/sys/rump/fs/lib/libv7fs/Makefile
diff -u /dev/null src/sys/rump/fs/lib/libv7fs/Makefile:1.1
--- /dev/null Sun Jul 24 08:55:31 2011
+++ src/sys/rump/fs/lib/libv7fs/Makefile Sun Jul 24 08:55:31 2011
@@ -0,0 +1,18 @@
+# $NetBSD: Makefile,v 1.1 2011/07/24 08:55:31 uch Exp $
+#
+
+.PATH: ${.CURDIR}/../../../../fs/v7fs
+
+LIB= rumpfs_v7fs
+
+SRCS= v7fs_endian.c v7fs_superblock.c v7fs_inode.c v7fs_dirent.c \
+v7fs_datablock.c v7fs_file.c v7fs_io.c
+
+SRCS+= v7fs_file_util.c v7fs_inode_util.c v7fs_superblock_util.c
+
+SRCS+= v7fs_io_kern.c v7fs_extern.c v7fs_vnops.c v7fs_vfsops.c
+
+CPPFLAGS+= -DV7FS_EI
+
+.include <bsd.lib.mk>
+.include <bsd.klinks.mk>
Index: src/sys/rump/fs/lib/libv7fs/shlib_version
diff -u /dev/null src/sys/rump/fs/lib/libv7fs/shlib_version:1.1
--- /dev/null Sun Jul 24 08:55:31 2011
+++ src/sys/rump/fs/lib/libv7fs/shlib_version Sun Jul 24 08:55:31 2011
@@ -0,0 +1,4 @@
+# $NetBSD: shlib_version,v 1.1 2011/07/24 08:55:31 uch Exp $
+#
+major=0
+minor=0
Index: src/usr.sbin/puffs/rump_v7fs/rump_v7fs.8
diff -u /dev/null src/usr.sbin/puffs/rump_v7fs/rump_v7fs.8:1.1
--- /dev/null Sun Jul 24 08:55:31 2011
+++ src/usr.sbin/puffs/rump_v7fs/rump_v7fs.8 Sun Jul 24 08:55:31 2011
@@ -0,0 +1,134 @@
+.\" $NetBSD: rump_v7fs.8,v 1.1 2011/07/24 08:55:31 uch Exp $
+.\"
+.\" WARNING: GENERATED FILE, DO NOT EDIT
+.\" INSTEAD, EDIT makerumpmanpages.sh AND REGEN
+.\" from: NetBSD: makerumpmanpages.sh,v 1.12 2010/11/22 07:56:31 pooka Exp
+.\"
+.\" Copyright (c) 2008-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 AND CONTRIBUTORS "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.
+.\"
+.Dd November 21, 2010
+.Dt RUMP_V7FS 8
+.Os
+.Sh NAME
+.Nm rump_v7fs
+.Nd mount a v7fs image with a userspace server
+.Sh SYNOPSIS
+.Cd "file-system PUFFS"
+.Cd "pseudo-device putter"
+.Pp
+.Nm
+.Op options
+.Ar image
+.Ar mountpoint
+.Sh DESCRIPTION
+.Em NOTE!
+This manual page describes features specific to the
+.Xr rump 3
+file server.
+Please see
+.Xr mount_v7fs 8
+for a full description of the available command line options.
+.Pp
+The
+.Nm
+utility can be used to mount v7fs file systems.
+It uses
+.Xr rump 3
+and
+.Xr p2k 3
+to facilitate running the file system as a server in userspace.
+As opposed to
+.Xr mount_v7fs 8 ,
+.Nm
+does not use file system code within the kernel and therefore does
+not require kernel support except
+.Xr puffs 4 .
+Apart from a minor speed penalty there is no downside with respect to
+in-kernel code.
+.Pp
+.Nm
+does not require using
+.Xr vnconfig 8
+for mounts from regular files and the file path can be passed
+directly as the
+.Ar image
+parameter.
+In fact, the use of
+.Xr vnconfig 8
+is discouraged, since it is unable to properly deal with images on
+sparse files.
+.Pp
+In case the image contains multiple partitions, the desired partition
+must be indicated by appending the token
+.Dq %DISKLABEL:p%
+to the
+.Ar image
+path.
+The letter
+.Dq p
+specifies the partition as obtained via
+.Xr disklabel 8 .
+For example, to mount partition
+.Dq e
+from image
+.Pa /tmp/wd0.img ,
+use
+.Dq /tmp/wd0.img%DISKLABEL:e% .
+.Pp
+It is recommended that untrusted file system images be mounted with
+.Nm
+instead of
+.Xr mount_v7fs 8 .
+Corrupt file system images commonly cause the file system
+to crash the entire kernel, but with
+.Nm
+only the userspace server process will dump core.
+.Pp
+To use
+.Nm
+via
+.Xr mount 8 ,
+the flags
+.Fl o Ar rump
+and
+.Fl t Ar v7fs
+should be given.
+Similarly,
+.Nm
+is used instead of
+.Xr mount_v7fs 8
+if
+.Dq rump
+is added to the options field of
+.Xr fstab 5 .
+.Sh SEE ALSO
+.Xr p2k 3 ,
+.Xr puffs 3 ,
+.Xr rump 3 ,
+.Xr mount_v7fs 8
+.Sh HISTORY
+The
+.Nm
+utility first appeared in
+.Nx 6.0 .
Index: src/usr.sbin/puffs/rump_v7fs/rump_v7fs.c
diff -u /dev/null src/usr.sbin/puffs/rump_v7fs/rump_v7fs.c:1.1
--- /dev/null Sun Jul 24 08:55:31 2011
+++ src/usr.sbin/puffs/rump_v7fs/rump_v7fs.c Sun Jul 24 08:55:31 2011
@@ -0,0 +1,64 @@
+/* $NetBSD: rump_v7fs.c,v 1.1 2011/07/24 08:55:31 uch Exp $ */
+
+/*
+ * Copyright (c) 2008 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/types.h>
+#include <sys/mount.h>
+
+#include <rump/p2k.h>
+#include <rump/ukfs.h>
+
+#include <err.h>
+#include <puffs.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "mount_v7fs.h"
+
+int
+main(int argc, char *argv[])
+{
+ struct v7fs_args args;
+ char canon_dev[UKFS_DEVICE_MAXPATHLEN], canon_dir[MAXPATHLEN];
+ struct ukfs_part *part;
+ int mntflags;
+ int rv;
+
+ setprogname(argv[0]);
+ puffs_unmountonsignal(SIGINT, true);
+ puffs_unmountonsignal(SIGTERM, true);
+
+ UKFS_DEVICE_ARGVPROBE(&part);
+ mount_v7fs_parseargs(argc, argv, &args, &mntflags,
+ canon_dev, canon_dir);
+ rv = p2k_run_diskfs(MOUNT_V7FS, canon_dev, part, canon_dir, mntflags,
+ &args, sizeof(args), 0);
+ ukfs_part_release(part);
+ if (rv)
+ err(1, "mount");
+
+ return 0;
+}