GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • The Linux Kernel
  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
  • Subsystems
  • Filesystems in the Linux kernel
  • Block
  • CD-ROM
  • SCSI Subsystem
  • TCM Virtual Device

This view

  • Original page
  • New address

GeezerVison is showing docs.kernel.org — Filesystems in the Linux kernel — The Linux Kernel documentation

English
  • Chinese (Simplified)
  • Chinese (Traditional)

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
    • Introduction
    • Registering and Mounting a Filesystem
    • The Superblock Object
    • The Inode Object
    • The Address Space Object
    • The File Object
    • Directory Entry Cache (dcache)
    • Mount Options
    • Resources
  • Pathname lookup
    • Introduction to pathname lookup
    • RCU-walk - faster pathname lookup in Linux
    • A walk among the symlinks
  • Linux Filesystems API summary
    • The Linux VFS
    • The proc filesystem
    • Events based on file descriptors
    • eventpoll (epoll) interfaces
    • The Filesystem for Exporting Kernel Objects
    • The debugfs filesystem
  • splice and pipes
    • splice API
    • pipes API
  • Locking
    • dentry_operations
    • inode_operations
    • xattr_handler operations
    • super_operations
    • file_system_type
    • address_space_operations
    • file_lock_operations
    • lock_manager_operations
    • block_device_operations
    • file_operations
    • dquot_operations
    • vm_operations_struct
  • Directory Locking
    • Primitives
    • Splicing
    • Multiple-filesystem stuff
    • Deadlock avoidance
    • Loop avoidance
  • The Devpts Filesystem
  • Linux Directory Notification
    • Implementation expectations (features and bugs :-))
    • Configuration
    • Example
    • NOTE
  • Fiemap Ioctl
    • Request Basics
    • Extent Mapping
    • VFS -> File System Implementation
  • File management in the Linux kernel
  • File Locking Release Notes
    • 1. What’s New?
  • mmap_prepare callback HOWTO
    • Introduction
    • How To Use
    • Actions
    • Discontiguous Actions
  • Multigrain Timestamps
    • Introduction
    • Inode Timestamps
    • Inode Timestamp Ordering
    • Multigrain Timestamp Implementation
    • The Ctime Floor Value
    • Implementation Notes
  • Filesystem Mount API
    • Overview
    • The Filesystem context
    • The Filesystem Context Operations
    • Filesystem context Security
    • VFS Filesystem context API
    • Superblock Creation Helpers
    • Parameter Description
    • Parameter Helper Functions
  • Quota subsystem
    • Quota netlink interface
  • The seq_file Interface
    • Deprecated create_proc_entry
    • The iterator interface
    • Formatted output
    • Making it all work
    • seq_list
    • The extra-simple version
  • Shared Subtrees
    • 1) Overview
    • 2) Features
    • 3) Setting mount states
    • 4) Use cases
    • 5) Detailed semantics
    • 6) Quiz
    • 7) FAQ
    • 8) Implementation
  • Idmappings
    • Formal notes
    • General notes
    • Translation algorithms
    • Idmappings when creating filesystem objects
    • Idmappings on idmapped mounts
  • VFS iomap Documentation
    • 1. Library Design
    • 2. Supported File Operations
    • 3. Porting Your Filesystem
  • Automount Support
    • In-Kernel Automounting
    • Automatic Mountpoint Expiry
    • Userspace Driven Expiry
  • Filesystem Caching
    • General Filesystem Caching
    • Network Filesystem Caching API
    • Cache Backend API
    • Cache on Already Mounted Filesystem
  • Changes since 2.5.0:
  • Adding New Filesystems
    • Do You Need a New In-Kernel Filesystem?
    • Technical Requirements
    • Community and Maintainership Expectations
    • Submission Process
    • Ongoing Obligations

Filesystem support layers¶

Documentation for the support code within the filesystem layer for use in filesystem implementations.

  • Buffer Heads
    • Functions
  • The Linux Journalling API
    • Overview
    • Data Types
    • Functions
    • See also
  • Filesystem-level encryption (fscrypt)
    • Introduction
    • Threat model
    • Key hierarchy
    • Encryption modes and usage
    • User API
    • Access semantics
    • Encryption policy enforcement
    • Inline encryption support
    • Direct I/O support
    • Implementation details
    • Tests
  • fs-verity: read-only file-based authenticity protection
    • Introduction
    • Use cases
    • User API
    • Accessing verity files
    • File digest computation
    • Built-in signature verification
    • Filesystem support
    • Implementation details
    • Userspace utility
    • Tests
    • FAQ
  • Network Filesystem Services Library
    • Overview
    • Per-Inode Context
    • High-Level VFS API
    • High-Level VM API
    • I/O Request API
    • API Function Reference

Filesystems¶

Documentation for filesystem implementations.

  • v9fs: Plan 9 Resource Sharing for Linux
    • About
    • Usage
    • USBG Usage
    • USBG Example
    • Options
    • Behavior
    • Resources
  • Acorn Disc Filing System - ADFS
    • Filesystems supported by ADFS
    • Mount options for ADFS
    • Mapping of ADFS permissions to Linux permissions
    • RISC OS file type suffix
  • Overview of Amiga Filesystems
    • Mount options for the AFFS
    • Handling of the Users/Groups and protection flags
    • Symbolic links
    • Examples
    • IMPORTANT NOTE
    • Bugs, Restrictions, Caveats
  • kAFS: AFS FILESYSTEM
    • Overview
    • Compilation
    • Usage
    • Mountpoints
    • Dynamic Root
    • Proc Filesystem
    • The Cell Database
    • Security
    • The @sys Substitution
  • 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
    • The problem
    • The Solution
    • autofs Miscellaneous Device mount control interface
    • The ioctls
  • BeOS filesystem for Linux
    • Warning
    • License
    • Author
    • What is this Driver?
    • Which is it, BFS or BEFS?
    • How to Install
    • Using BFS
    • Mount Options
    • How to Get Latest Version
    • Any Known Bugs?
    • Special Thanks
  • BTRFS
  • Ceph Distributed File System
    • Mount Syntax
    • Mount Options
    • More Information
  • Coda Kernel-Venus Interface
    • 1. Introduction
    • 2. Servicing Coda filesystem calls
    • 3. The message layer
    • 4. The interface at the call level
    • 5. The minicache and downcalls
    • 6. Initialization and cleanup
  • 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
  • Cramfs - cram a filesystem onto a small ROM
    • Usage Notes
    • Memory Mapped cramfs image
    • Tools
    • For /usr/share/magic
    • Hacker Notes
  • Direct Access for files
    • Motivation
    • Usage
    • Enabling DAX on ext2 and erofs
    • Enabling DAX on xfs and ext4
    • Summary
    • Details
    • Enabling DAX on virtiofs
    • Implementation Tips for Block Driver Writers
    • Implementation Tips for Filesystem Writers
    • Handling Media Errors
    • Shortcomings
  • DebugFS
  • DLMFS
    • Credits
    • Caveats
    • Mount options
    • Usage
    • Setup
    • Locking
    • See Also
  • eCryptfs: A stacked cryptographic filesystem for Linux
    • Mount-wide Passphrase
    • Notes
  • efivarfs - a (U)EFI variable filesystem
    • Mount options
  • EROFS - Enhanced Read-Only File System
    • Overview
    • Mount options
    • File-backed mounts
    • Sysfs Entries
    • On-disk details
  • The Linux exFAT filesystem driver
    • Overview
    • Utilities support
    • Supported mount options
  • The Second Extended Filesystem
    • Options
    • Specification
    • References
  • Ext3 Filesystem
  • ext4 Data Structures and Algorithms
    • 1. About this Book
    • 2. High Level Design
    • 3. Global Structures
    • 4. Dynamic Structures
  • Flash-Friendly File System (F2FS)
    • Overview
    • Background and Design issues
    • Key Features
    • Mount Options
    • Debugfs Entries
    • Sysfs Entries
    • Usage
    • Design
  • failfs
    • Semantics
    • Entering
    • Leaving
  • Global File System 2
    • Overview
    • Implementation Notes
  • Macintosh HFS Filesystem for Linux
    • Mount options
    • Writing to HFS Filesystems
    • Creating HFS filesystems
    • Credits
  • Macintosh HFSPlus Filesystem for Linux
    • Mount options
    • References
  • Read/Write HPFS 2.09
    • Credits
    • File names
    • Extended attributes
    • Symlinks
    • Codepages
    • Known bugs
    • What does “unbalanced tree” message mean?
    • Bugs in OS/2
    • Codepage bugs described above
    • History
  • FUSE (Filesystem in Userspace) Technical Documentation
    • 1. FUSE Overview
    • 2. FUSE I/O Modes
    • 3. FUSE-over-io-uring design documentation
    • 4. FUSE Passthrough
    • 5. FUSE Caches
    • 6. FUSE-over-io-uring uapi documentation
  • Inotify - A Powerful yet Simple File Change Notification System
  • ISO9660 Filesystem
  • NILFS2
    • Caveats
    • Mount options
    • Ioctls
    • NILFS2 usage
    • Disk format
  • NFS
    • NFSv4 client identifier
    • See Also
    • The per-namespace NFS client keyring
    • Making Filesystems Exportable
    • NFS LOCALIO
    • Reference counting in pnfs
    • RPC Cache
    • rpcsec_gss support for kernel RPC servers
    • NFSv4.1 Server Implementation
    • NFSD IO MODES
    • Kernel NFS Server Statistics
    • Reexporting NFS filesystems
  • The Linux NTFS filesystem driver
    • Overview
    • Utilities support
    • Linux file attributes
    • Supported mount options
    • Named-stream ioctls
  • NTFS3
    • Summary and Features
    • Mount Options
    • Todo list
    • References
  • OCFS2 filesystem
    • Credits
    • Caveats
    • Mount options
  • OCFS2 file system - online file check
    • Introduction
    • Scope
    • User interface
    • Fixing stuff
  • Optimized MPEG Filesystem (OMFS)
    • Overview
    • Options
    • Disk format
  • ORANGEFS
    • Mailing List Archives
    • Mailing List Submissions
    • Documentation
    • Running ORANGEFS On a Single Server
    • Userspace Filesystem Source
    • Building ORANGEFS on a Single Server
    • Running xfstests
    • Options
    • Debugging
    • Protocol between Kernel Module and Userspace
  • Overlay Filesystem
    • Overlay objects
    • Upper and Lower
    • Directories
    • whiteouts and opaque directories
    • readdir
    • renaming directories
    • Non-directories
    • Permission model
    • Idmapped mounts
    • Multiple lower layers
    • Metadata only copy up
    • Data-only lower layers
    • Specifying layers via file descriptors
    • fs-verity support
    • Sharing and copying layers
    • Nesting overlayfs mounts
    • Non-standard behavior
    • Changes to underlying filesystems
    • NFS export
    • UUID and fsid
    • Durability and copy up
    • Volatile mount
    • User xattr
    • Testsuite
  • The /proc Filesystem
    • Preface
    • Chapter 1: Collecting System Information
    • Chapter 2: Modifying System Parameters
    • Chapter 3: Per-process Parameters
    • Chapter 4: Configuring procfs
    • Chapter 5: Filesystem behavior
  • The QNX6 Filesystem
    • Option
    • Specification
  • Ramfs, rootfs and initramfs
    • What is ramfs?
    • ramfs and ramdisk:
    • ramfs and tmpfs:
    • What is rootfs?
    • What is initramfs?
    • Populating initramfs:
    • External initramfs images:
    • Contents of initramfs:
    • Why cpio rather than tar?
    • Future directions:
  • relay interface (formerly relayfs)
    • Semantics
    • klog and relay-apps example code
    • The relay interface user space API
    • The relay interface kernel API
    • Resources
    • Credits
  • User Interface for Resource Control feature (resctrl)
    • Info directory
    • Resource alloc and monitor groups
    • Notes on cache occupancy monitoring and control
    • Notes on Sub-NUMA Cluster mode
    • Memory bandwidth Allocation and monitoring
    • Cache Pseudo-Locking
    • Examples for RDT Monitoring along with allocation usage
    • Examples on working with mbm_assign_mode
    • Intel RDT Errata
  • ROMFS - ROM File System
  • CIFS
    • KSMBD - SMB3 Kernel Server
    • Mounting root file system via SMB (cifs.ko)
    • SMB Direct - SMB3 over RDMA
  • SPU Filesystem
    • spufs
    • spu_create
    • spu_run
  • Squashfs 4.0 Filesystem
    • 1. Filesystem Features
    • 2. Using Squashfs
    • 2.1 Mount options
    • 3. Squashfs Filesystem Design
    • 3.1 Compression options
    • 3.2 Inodes
    • 3.3 Directories
    • 3.4 File data
    • 3.5 Fragment lookup table
    • 3.6 Uid/gid lookup table
    • 3.7 Export table
    • 3.8 Xattr table
    • 4. TODOs and Outstanding Issues
    • 4.1 TODO list
    • 4.2 Squashfs Internal Cache
  • sysfs - _The_ filesystem for exporting kernel objects
    • What it is
    • Using sysfs
    • Directory Creation
    • Attributes
    • Subsystem-Specific Callbacks
    • Reading/Writing Attribute Data
    • Top Level Directory Layout
    • Current Interfaces
    • Documentation
  • Tmpfs
  • UBI File System
    • Introduction
    • Mount options
    • Quick usage instructions
    • References
  • UBIFS Authentication Support
    • Introduction
    • UBIFS Authentication
    • Future Extensions
    • References
  • UDF file system
  • virtiofs: virtio-fs host<->guest shared file system
    • Introduction
    • Usage
    • Internals
  • VFAT
    • USING VFAT
    • VFAT MOUNT OPTIONS
    • LIMITATION
    • TODO
    • POSSIBLE PROBLEMS
    • TEST SUITE
    • NOTES ON THE STRUCTURE OF THE VFAT FILESYSTEM
  • XFS Filesystem Documentation
    • 1. XFS Logging Design
    • 2. XFS Maintainer Entry Profile
    • 3. XFS Self Describing Metadata
    • 4. XFS Online Fsck Design
  • ZoneFS - Zone filesystem for Zoned block devices
    • Introduction
    • Zonefs Overview
    • Zonefs User Space Tools
©The kernel development community. | Powered by Sphinx 5.3.0 & Alabaster 0.7.16 | Page source
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.