Updated: 2022/Sep/29

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


FSS(4)                       Device Drivers Manual                      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.

NetBSD 10.99                   February 24, 2011                  NetBSD 10.99