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

fssconfigconfigure file system snapshot devices

fssconfig [-cxv] fss_dev fs snapstore [cluster [size]]

fssconfig -u [-v] fss_dev

fssconfig -l [-v] [fss_dev]

The fssconfig command configures fss(4) file system snapshot pseudo disk devices. It will associate the file system snapshot disk fss_dev with a snapshot of the file system mounted on fs, allowing fss_dev to be accessed as though it were a disk.

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 fss_dev since the snapshot was taken.

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

snapstore is a regular file on the same file system as it is a snapshot of, and the snapshot persists until snapstore is unlinked, even if the fss_dev 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] fss_dev 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 separate 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, fss_dev will expose the contents of fs at the time the snapshot was taken.

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

When taking a snapshot, snapstore must either not exist or be an existing directory. If it doesn't exist, fssconfig will create it. if it is an existing directory, fssconfig will create a temporary file with an unpredictable name in it as the snapshot backing store, and then immediately unlink the backing store, so the storage will be released once fss_dev 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 fss_dev is given, then only that will be described.
Unconfigure the fss_dev.

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

Other options:

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

If snapstore is a directory for fssconfig to create a temporary file in, that file will be unlinked anyway, 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