FSS(4) Kernel Interfaces Manual FSS(4)
NAME
fssfile system snapshot device
SYNOPSIS
pseudo-device fss 4
DESCRIPTION
The fss driver provides a read-only interface to the snapshot of a currently mounted file system. Reading from a fss device gives the view of the file system when the snapshot was taken. It can be configured via ioctl(2).
IOCTLS
The ioctl(2) command codes below are defined in <sys/dev/fssvar.h>.
 
The (third) argument to ioctl(2) should be a pointer to the type indicated.
FSSIOCSET(struct fss_set)
Configures a fss device.
struct fss_set { char *fss_mount; char *fss_bstore; blksize_t fss_csize; };
 
The struct element fss_mount is the mount point of the file system. The struct element fss_bstore is either a regular file or a raw disk device where data overwritten on the file system will be saved. The struct element fss_csize is the preferred size of this data.
FSSIOCGET(struct fss_get)
Gets the status of a fss device.
struct fss_get { char fsg_mount[MNAMELEN]; struct timeval fsg_time; blksize_t fsg_csize; blkcnt_t fsg_mount_size; blkcnt_t fsg_bs_size; };
The struct element fsg_mount is the mount point of the file system. The struct element fsg_time is the time this snapshot was taken. The struct element fsg_csize is the current size of data clusters. The struct element fsg_mount_size is the number of clusters of the file system. The struct element fsg_bs_size is the number of clusters written to the backing store.
FSSIOCCLR
Unconfigures a fss device.
FSSIOFSET(int)
Sets the flags of a fss device. Possible flags are:
FSS_UNCONFIG_ON_CLOSE
Unconfigure the fss device on the last close.
FSSIOFGET(int)
Gets the flags of a fss device.
KERNEL THREADS
For each active snapshot device there is a kernel thread that handles the backing store. This thread is named fssN where N is the device minor number.
FILES
/dev/rfss?
/dev/fss?
SEE ALSO
HISTORY
The fss device appeared in NetBSD 2.0.
BUGS
This driver is experimental. Be sure you have a backup before you use it.