Filesystems in the Linux kernel¶
This under-development manual will, some glorious day, provide comprehensive information on how the Linux virtual filesystem (VFS) layer works, along with the filesystems that sit below it. For now, what we have can be found below.
Core VFS documentation¶
See these manuals for documentation about the VFS layer itself and how its algorithms work.
- Overview of the Linux Virtual File System
- Pathname lookup
- Linux Filesystems API summary
- splice and pipes
- Locking
- Directory Locking
- The Devpts Filesystem
- Linux Directory Notification
- Fiemap Ioctl
- File management in the Linux kernel
- File Locking Release Notes
- Filesystem Mount API
- Quota subsystem
- The seq_file Interface
- Shared Subtrees
- Idmappings
- Automount Support
- Filesystem Caching
- Changes since 2.5.0:
Filesystem support layers¶
Documentation for the support code within the filesystem layer for use in filesystem implementations.
Filesystems¶
Documentation for filesystem implementations.
- v9fs: Plan 9 Resource Sharing for Linux
- Acorn Disc Filing System - ADFS
- Overview of Amiga Filesystems
- kAFS: AFS FILESYSTEM
- autofs - how it works
- Purpose
- Context
- Content
- Mount Traps
- Mountpoint expiry
- Communicating with autofs: detecting the daemon
- Communicating with autofs: the event pipe
- Communicating with autofs: root directory ioctls
- Communicating with autofs: char-device ioctls
- Catatonic mode
- The “ignore” mount option
- autofs, name spaces, and shared mounts
- Miscellaneous Device control operations for the autofs kernel module
- BeOS filesystem for Linux
- BFS Filesystem for Linux
- BTRFS
- CIFS
- Ceph Distributed File System
- Coda Kernel-Venus Interface
- Configfs - Userspace-driven Kernel Object Configuration
- What is configfs?
- Using configfs
- Configuring FakeNBD: an Example
- Coding With configfs
- struct config_item
- struct config_item_type
- struct configfs_attribute
- struct configfs_bin_attribute
- struct config_group
- struct configfs_subsystem
- An Example
- Hierarchy Navigation and the Subsystem Mutex
- Item Aggregation Via symlink(2)
- Automatically Created Subgroups
- Dependent Subsystems
- Committable Items
- Cramfs - cram a filesystem onto a small ROM
- Direct Access for files
- DebugFS
- DLMFS
- eCryptfs: A stacked cryptographic filesystem for Linux
- efivarfs - a (U)EFI variable filesystem
- Enhanced Read-Only File System - EROFS
- The Second Extended Filesystem
- Ext3 Filesystem
- ext4 Data Structures and Algorithms
- WHAT IS Flash-Friendly File System (F2FS)?
- Global File System 2
- uevents and GFS2
- Glock internal locking rules
- Macintosh HFS Filesystem for Linux
- Macintosh HFSPlus Filesystem for Linux
- Read/Write HPFS 2.09
- FUSE
- Fuse I/O Modes
- Inotify - A Powerful yet Simple File Change Notification System
- ISO9660 Filesystem
- NILFS2
- NFS
- The Linux NTFS filesystem driver
- NTFS3
- OCFS2 filesystem
- OCFS2 file system - online file check
- Optimized MPEG Filesystem (OMFS)
- ORANGEFS
- Overlay Filesystem
- Overlay objects
- Upper and Lower
- Directories
- whiteouts and opaque directories
- readdir
- renaming directories
- Non-directories
- Permission model
- Multiple lower layers
- Metadata only copy up
- Sharing and copying layers
- Non-standard behavior
- Changes to underlying filesystems
- NFS export
- Volatile mount
- User xattr
- Testsuite
- The /proc Filesystem
- The QNX6 Filesystem
- Ramfs, rootfs and initramfs
- relay interface (formerly relayfs)
- ROMFS - ROM File System
- SPU Filesystem
- Squashfs 4.0 Filesystem
- sysfs - _The_ filesystem for exporting kernel objects
- SystemV Filesystem
- Tmpfs
- UBI File System
- UBIFS Authentication Support
- UDF file system
- virtiofs: virtio-fs host<->guest shared file system
- VFAT
- XFS Delayed Logging Design
- XFS Self Describing Metadata
- ZoneFS - Zone filesystem for Zoned block devices