Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


VNDCONFIG(8)                System Manager's Manual               VNDCONFIG(8)

NAME
     vndconfig - configure vnode disks

SYNOPSIS
     vndconfig [-cirvz] [-f disktab] [-t typename] vnode_disk regular_file
               [geomspec]
     vndconfig -u [-Fv] vnode_disk
     vndconfig -l [-m min] [vnode_disk ...]

DESCRIPTION
     The vndconfig command configures vnode pseudo disk devices.  It will
     associate the vnode disk vnode_disk with the regular file regular_file
     allowing the latter to be accessed as though it were a disk.  Hence a
     regular file within the filesystem can be used for swapping or can
     contain a filesystem that is mounted in the name space.  The vnode_disk
     is a special file of raw partition or name of vnode disk like vnd0.

     By default, accesses to the file bypass normal mechanisms and thus do not
     read from or fill the filesystem cache.  Because the typical approach is
     to access the file only via vnd(4), or at least to have regular accesses
     and vnd(4) accesses separated in time, this is generally not problematic.
     This bypassing behavior results in not updating the modification
     timestamp of the file.  Also, file contents read through the filesystem
     (and thus the filesystem's caching layer) may not be the contents written
     via this interface, so caution is in order for backups.  The -i option
     may be useful if it is necessary to avoid inconsistent caching.

     Options indicate an action to be performed:

     -c      Configures the device.  If successful, references to vnode_disk
             will access the contents of regular_file.

             If geomspec is specified, the vnode device will emulate the
             specified disk geometry.  The format of the geomspec argument is:

                   secsize/nsectors/ntracks/ncylinders

             If geometry is not specified, the kernel will choose a default
             based on 1MB cylinders.  secsize is the number of bytes per
             sector.  It must be a power of two, and at least 512.  nsectors
             is the number of sectors per track.  ntracks is the number of
             tracks per cylinder.  ncylinders is the number of cylinders in
             the device.

     -F      Force unconfiguration if the device is in use.  Does not imply
             -u.

     -f disktab
             Specifies that the -t option should look up in disktab instead of
             in /etc/disktab.

     -i      Configure the device to use regular file I/O even when direct I/O
             using bmap/strategy would be possible.

     -l      List the vnd devices and indicate which ones are in use.  If one
             or more specific vnode_disks are given, then only those will be
             described.

     -m min  Together with -l and if no specific devices are given, causes at
             least min devices to be listed.  The default for min is 4, but
             all vnd devices up to (and sometimes just beyond) the highest
             numbered vnd device configured since the system last booted will
             be listed.  If min is set to 0, then only vnd devices currently
             in use will be shown.

     -r      Configure the device as read-only.

     -t typename
             If configuring the device, look up typename in /etc/disktab and
             use the geometry specified in the entry.  This option and the
             geomspec argument are mutually exclusive.

     -u      Unconfigures the device.

     -v      Print messages to stdout describing actions taken.

     -z      Assume that regular_file is a compressed disk image in cloop2
             format, and configure it read-only.  See the vndcompress(1)
             manpage on how to create such an image.

     If no action option [-clu] is given, -c is assumed.

FILES
     /dev/rvnd??
     /dev/vnd??
     /etc/disktab

EXIT STATUS
     vndconfig will exit with status 0 if the operation requested completed
     successfully, or 1 otherwise.  Unsuccessful completion can be caused by
     unknown or incorrectly used options; attempting to configure a vnd that
     is already configured; or unconfigure one that is not, or without -F, one
     which is still in use; or if devices are specified that do not exist or
     are not vnd(4) devices, giving an improper geometry, etc.

EXAMPLES
           vndconfig vnd0 /tmp/diskimage
     or
           vndconfig /dev/rvnd0c /tmp/diskimage

     Configures the vnode disk vnd0.  Please note that use of the second form
     of the command is discouraged because it requires knowledge of the raw
     partition which varies between architectures.  For the first form, be
     aware that there must not be a file vnd0 in the current directory, or it
     will be assumed to be the vnd device to be configured (which will usually
     fail.)

           vndconfig vnd0 /tmp/floppy.img 512/18/2/80

     Configures the vnode disk vnd0 emulating the geometry of 512 bytes per
     sector, 18 sectors per track, 2 tracks per cylinder, and 80 cylinders
     total.

           vndconfig vnd0 /tmp/image.udf 2048/1/1/0

     Configures the vnode disk vnd0 for an UDF image to be used with
     mount_udf(8).

           vndconfig -t floppy vnd0 /tmp/floppy.img

     Configures the vnode disk vnd0 using the geometry specified in the floppy
     entry in /etc/disktab.

           vndconfig -u vnd0

     Unconfigures the vnd0 device.

     To obtain status on all vnd devices listed in /dev (assuming a system
     where the `d' partition is the whole device (RAW_PART)), use:

           vndconfig -l /dev/vnd*d

     Using
           vndconfig -m0 -l /dev/vnd*d
     will omit those devices that are not in use, whereas
           vndconfig -l
     will list all devices known to the kernel (at least 4 without -m)
     regardless of what might appear in /dev (or elsewhere.)

SEE ALSO
     vndcompress(1), opendisk(3), vnd(4), mount(8), swapctl(8), umount(8)

HISTORY
     The vnconfig command appeared in NetBSD 1.0.  It was renamed to vndconfig
     in NetBSD 7.0 for consistency with other similar commands.  (The original
     name was also retained as an alternative for backwards compatibility.)

NetBSD 10.99                   October 20, 2023                   NetBSD 10.99