FSS(4)

NAME
fss - file 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;
        	int fss_flags;
        };

    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. The struct element fss_flags is the initial set of flags.

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.

    FSS_UNLINK_ON_CREATE
        Unlink the backing file before the fss device is created.

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
fssconfig(8), mount(8), umount(8)

HISTORY
The fss device appeared in NetBSD 2.0.