Sortix volatile manual
This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.
| EXTFS(8) | System Manager's Manual | EXTFS(8) | 
NAME
extfs — ext2
    filesystem driver
SYNOPSIS
extfs | 
    [-bf] [-o
      mount-options] [-p
      path] device
      mountpoint | 
  
DESCRIPTION
extfs mounts the ext2 filesystem on the
    device for reading and writing at the
    mountpoint. extfs forks and
    runs in the background once the filesystem has been mounted.
A compatible ext2 filesystem can be created using
    mkfs.ext2(8) using the
    -O none,large_file,filetype
    option, and such filesystems can be checked and repaired using
    fsck.ext2(8). The
    filesystem parameters can be tuned with
    tune2fs(8), and the
    filesystem label can be set with
    e2label(8). Filesystems can
    be automatically mounted by
    init(8) on boot by creating an
    entry in fstab(5) with the
    ext2 type.
    disked(8) is typically used
    for partition and filesystem administration.
extfs will mount the filesystem as
    read-only if the filesystem uses unimplemented features that are
    read-compatible, and will refuse to mount if the filesystem uses
    read-incompatible unimplemented features.
The options are as follows:
-b,--background- Run in the background in a subprocess after successfully mounting. This is the default behavior.
 -f,--foreground- Run in the foreground and do not detach in a subprocess.
 -omount-options- Mount the filesystem with the following comma-separated
      mount-options:
    
- cache=size
 - Sets the filesystem cache to the specified size, which is measured in an optional suffix: % for percent of system memory, K for KiB, M for MiB, or G for GiB. The default is 10% of the system memory.
 - ro
 - Mount the filesystem as read-only.
 - rw
 - Mount the filesystem for read and write. This option is the default behavior.
 
 -p,--pretend-mount-path=path- When answering requests about where the filesystem is mounted, reply with this path instead of the actual mountpoint in tcgetblob(2). This behavior is useful for chroot(2) environments.
 
The following identifiers are available to recognize a filesystem in fstab(5) in the fs_spec field and can be queried with the disked(8) id command:
IMPLEMENTATION NOTES
If -f, then extfs
    signals readiness when it has successfully mounted the filesystem.
extfs implements the
    filetype and
    large_file
    extensions.
ASYNCHRONOUS EVENTS
SIGTERM- Request daemon termination. 
extfswill exit after gracefully unmounting the filesystem. 
EXIT STATUS
If -b, extfs exits
    0 after successfully mounting the filesystem and serving requests in a
    background process.
If -f, extfs
    signals readiness on the READYFD file descriptor
    when filesystem has been mounted, and continues running in the same
  process.
extfs runs as a
    daemon(7) until stopped by
    SIGTERM or until the filesystem is unmounted with
    unmount(8) or
    unmount(2), after which
    extfs exits 0 if the filesystem was cleanly
    unmounted.
extfs exits non-zero on fatal errors.
EXAMPLES
$ mkfs.ext2 -O Ar none,large_file,filetype /dev/foo0 $ extfs /dev/foo0 /mnt $ echo bar > /mnt/bar $ unmount /mnt $ fsck.ext2 /dev/foo0
SEE ALSO
fstab(5), disked(8), e2label(8), fsck.ext2(8), init(8), lsblk(8), mkfs.ext2(8), tune2fs(8), unmount(8)
STANDARDS
D. Poirier, Second Extended File System, https://www.nongnu.org/ext2-doc/ext2.html, May 8, 2019.
BUGS
Many extensions are not implemented yet, including the extensions needed for ext3 and ext4 support.
readdir(2) runs in O(n) linear time, which takes O(n^2) quadratic time when reading a full directory. Many other internal operations have similar quadratic time performance problems.
The owner and group of files might not be set and respected correctly in all cases.
The timestamps are limited to 32-bit seconds after 1970 and will overflow in 2106. The owner and group values are limited to 16-bit.
fsync(2) does not
    sync the inode data contents, but only its metadata.
    extfs will sync in the background, but this fact
    cannot be observed yet. To reliably sync, unmount the filesystem.
The filesystem bookkeeping information is not always correctly updated and fsck.ext2(8) may complain and fix the incorrect cached counts in the filesystem.
The preferred block group heuristic is not tuned and properly used.
| April 20, 2025 | Sortix 1.1.0-dev |