summaryrefslogtreecommitdiffstats
path: root/contrib/netbsd-tests/fs/msdosfs/t_snapshot.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/netbsd-tests/fs/msdosfs/t_snapshot.c')
-rw-r--r--contrib/netbsd-tests/fs/msdosfs/t_snapshot.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/contrib/netbsd-tests/fs/msdosfs/t_snapshot.c b/contrib/netbsd-tests/fs/msdosfs/t_snapshot.c
new file mode 100644
index 0000000..8b5708f
--- /dev/null
+++ b/contrib/netbsd-tests/fs/msdosfs/t_snapshot.c
@@ -0,0 +1,51 @@
+/* $NetBSD: t_snapshot.c,v 1.3 2014/06/10 13:15:18 martin Exp $ */
+
+#include <sys/types.h>
+#include <sys/mount.h>
+
+#include <rump/rump.h>
+#include <rump/rump_syscalls.h>
+
+#include <fs/tmpfs/tmpfs_args.h>
+#include <msdosfs/msdosfsmount.h>
+
+#include <atf-c.h>
+#include <err.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "../../h_macros.h"
+
+#define IMGNAME "msdosfs.img"
+#define NEWFS "newfs_msdos -C 5M " IMGNAME
+#define FSCK "fsck_msdos -fn"
+#define BAKNAME "/stor/snap"
+
+static void
+mount_diskfs(const char *fspec, const char *path)
+{
+ struct msdosfs_args margs;
+
+ memset(&margs, 0, sizeof(margs));
+ margs.fspec = __UNCONST(fspec);
+ margs.version = MSDOSFSMNT_VERSION;
+
+ if (rump_sys_mount(MOUNT_MSDOS, path, 0, &margs, sizeof(margs)) == -1)
+ err(1, "mount msdosfs %s", path);
+}
+
+static void
+begin(void)
+{
+ struct tmpfs_args targs = { .ta_version = TMPFS_ARGS_VERSION, };
+
+ if (rump_sys_mkdir("/stor", 0777) == -1)
+ atf_tc_fail_errno("mkdir /stor");
+ if (rump_sys_mount(MOUNT_TMPFS, "/stor", 0, &targs,sizeof(targs)) == -1)
+ atf_tc_fail_errno("mount storage");
+}
+
+#include "../common/snapshot.c"
OpenPOWER on IntegriCloud