FSS(4)

πŸ“¦ version 11.0, in nixpkgs unstable

okay bestie, this is the FSS(4) page β€” yes, the Kernel Interfaces Manual one, section 4 β€” and it's all about file system snapshot devices. buckle up, it's lowkey iconic πŸ’…

🌸 NAME 🌸

fss β€” file system snapshot device

✨ SYNOPSIS ✨

pseudo-device fss 4

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the fss driver gives you a read-only interface to the snapshot of a currently mounted file system. Reading from an fss device gives you the view of the file system when the snapshot was taken. It can be configured via ioctl(2). no cap, that's the whole vibe 🫢

πŸ’œ 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. that's the vibe check, bestie πŸ’…

  • 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. slay.

  • 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. she ate, fr fr 🌟

  • 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. main character energy, honestly πŸ”₯

πŸŽ€ FILES πŸŽ€

  • /dev/rfss?
  • /dev/fss?

🌈 SEE ALSO 🌈

⭐ HISTORY ⭐

The fss device appeared in NetBSD 2.0. periodt πŸ’–


πŸ’– that's the whole page, bestie! this one came from Debian and is dated February 24, 2011 β€” mwah πŸ’–

πŸ“¦ where this page comes from