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

fssconfig — configure file system snapshot devices

fssconfig [-c] [-xv] fssdev fs snapstore [cluster [size]]

fssconfig -u [-v] fssdev

fssconfig -l [-v] [fssdev]

The fssconfig command configures fss(4) file system snapshot pseudo disk devices. It will associate the file system snapshot disk fssdev with a snapshot of the file system mounted on the mount point fs. The snapshot can be mounted from the block device fssdev with mount(8).

The file system can remain in use when a snapshot is taken. As parts of the file system are overwritten, old data will be stored in the snapshot backing store snapstore, which can be either a regular file or a raw character disk device, so that the old data will remain unchanged through fssdev since the snapshot was taken.

Only a whole mounted file system, not arbitrary subdirectories, can have snapshots with fss(4); the fs parameter must specify a file system mount point.

There are two types of snapshot: persistent and non-persistent.

snapstore is a regular file on the file system as it is a snapshot of, and the snapshot persists until snapstore is unlinked, even if the fssdev used to create it is unconfigured or the system is rebooted.

After it has been created, a persistent snapshot can be loaded again from snapstore with the same

fssconfig [-c] fssdev fs snapstore

command that was used to create it.

Unlinked but open files get removed from the snapshot. The time needed to create a persistent snapshot increases with the size of the file system and decreases with the file system block size. File systems may limit the total number of snapshots per volume.

Supported file system types:

ffs 20
snapstore is a disk device, or a regular file on a file system from the one it represents a snapshot of, and becomes invalid as soon as it is unconfigured.

Unlinked but open files are still present on the snapshot. The time needed to create a snapshot is independent of the size of the file system or the file system block size.

Any type of file system in NetBSD mounted from a disk device, such as ffs, ext2fs, and msdos (but not, for example, procfs, ptyfs, tmpfs, or zfs), can have non-persistent snapshots taken.

Options indicating an action to be performed:

Configure the device. If successful, the block device fssdev will expose the contents of the file system mounted at fs at the time the snapshot was taken.

If snapstore is an existing persistent snapshot of fs, fssconfig will load it so that the past state of the file system represented by snapstore is exposed through fssdev. Otherwise, fssconfig will create a backing store at snapstore to take a new snapshot.

When taking a new snapshot, snapstore must either not exist or be an existing directory:

  • If snapstore doesn't exist, fssconfig will create a file with that name.
  • If snapstore is an existing directory, fssconfig will create a temporary file with an unpredictable name in that directory as the snapshot's backing store, and then immediately unlink the file, so that the storage will be released once fssdev is unconfigured.

Overwritten data will be saved in units of at least cluster bytes, or units of the file system's preferred I/O size (statvfs(5), f_iosize) if cluster is zero or unspecified. The backing store will be limited to size bytes, which defaults to the size of the file system (statvfs(5), f_blocks * f_iosize); if the backing store fills up, write operations on the file system will fail.

List the snapshot devices and indicate which ones are in use. If a specific fssdev is given, then only that will be described.
Unconfigure the fssdev.

If no action option is given, -c is assumed.

Other options:

Be more verbose listing the snapshot devices.
(-c only) Unlink snapstore after the fssdev is configured.

If snapstore is a directory for fssconfig to create a temporary file in, that file will always be unlinked, with or without -x.

/dev/rfss?
Raw character device with read access to snapshot content.
/dev/fss?
Block device for mounting a file system from a snapshot.

opendisk(3), fss(4), dump(8), mount(8), umount(8)

The fssconfig command appeared in NetBSD 2.0.

July 6, 2026 NetBSD 11.99