svnd man page on OpenBSD

Man page or keyword search:  
man Server   11362 pages
apropos Keyword Search (all sections)
Output format
OpenBSD logo
[printable version]

VND(4)			  OpenBSD Programmer's Manual			VND(4)

NAME
     vnd - vnode disk driver

SYNOPSIS
     pseudo-device vnd [count]

DESCRIPTION
     The vnd driver provides a disk-like interface to a file.  This is useful
     for a variety of applications, including swap files and building miniroot
     or floppy disk images.  There are two variants, the traditional vnd that
     bypasses the buffer cache and thus is suitable for swap on files, but not
     for building disk-images, and the svnd (``safe'' vnd) variant that goes
     through the buffer cache, thereby maintaining cache-coherency after the
     block-device is closed which makes it suitable for creating disk images.
     The latter is not good for swapping on, though.

     This document assumes familiarity with how to generate kernels and how to
     properly configure disks and pseudo-devices in a kernel configuration
     file.

     In order to compile in support for vnd devices, a line similar to the
     following must be present in the kernel configuration file:

	   pseudo-device  vnd  4    # vnode disk driver

     The count argument is how many vnds memory is allocated for at boot time.
     In this example, no more than 4 vnds may be configured.

     There is a run-time utility that is used for configuring vnds.  See
     vnconfig(8) for more information.

IOCTL INTERFACE
     The following ioctl(2) calls are defined in <dev/vndioctl.h>:

     VNDIOCSET struct vnd_ioctl *
	     Associate the file vnd_file with a vnd pseudo device, optionally
	     encrypted using the Blowfish cipher and the key specified in
	     vnd_key of length vnd_keylen.  Encryption only works with svnd
	     devices.  The size of the configured device is returned in
	     vnd_size.

		   struct vnd_ioctl {
			   char	   *vnd_file;
			   off_t   vnd_size;
			   u_char  *vnd_key;
			   int	   vnd_keylen;
		   };

     VNDIOCCLR struct vnd_ioctl *
	     Disassociate a vnd device.

     VNDIOCGET struct vnd_user *
	     Get the associated file name, device, inode number, and unit
	     number of a vnd device.  If vnu_unit is -1, information on the
	     vnd device corresponding to the file descriptor passed to
	     ioctl(2) will be returned.	 Otherwise, vnu_unit may contain the
	     unit number of another vnd device.	 This allows for opening just
	     vnd0 and querying all available devices.

		   struct vnd_user {
			   char	   vnufile[VNDNLEN];
			   int	   vnu_unit;
			   dev_t   vnu_dev;
			   ino_t   vnu_ino;
		   };

     Additionally, some disklabel(8) related ioctl(2) calls defined in
     <sys/disklabel.h> are available: DIOCGDINFO, DIOCSDINFO, DIOCWDINFO, and
     DIOCWLABEL.  They are documented in sd(4).

FILES
     /dev/{,r}{,s}vnd*	vnd device special files

SEE ALSO
     ioctl(2), sd(4), disklabel(5), MAKEDEV(8), config(8), disklabel(8),
     fdisk(8), fsck(8), mount(8), newfs(8), vnconfig(8)

HISTORY
     The vnd disk driver was originally written at the University of Utah.
     The svnd variant was first seen in OpenBSD 2.1.

BUGS
     The vnd driver does not work if the file does not reside in a local
     filesystem.  However the svnd variant does.

OpenBSD 4.9			March 17, 2008			   OpenBSD 4.9
[top]

List of man pages available for OpenBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net