text: /*	$NetBSD: t_snapshot.c,v 1.4 2017/01/13 21:30:40 christos 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"
  