Next:
Introduction
Up:
lfs
Previous:
lfs
Contents
Introduction
Log Structured File System
About This manual
Conventions used throughout this document
Installation
System Requirements
Installation
User's Guide
Quick Start
Step-by-step
Snapshot
Kernel & Patches
Managing LFS
Creating a file-system
Mounting a file-system
Mounting a snapshot
Debugging a file-system
Obtaining runtime information
Limitations
On-disc structures
Data types
Characteristics common with traditional designs
Block indices
Segments
Ifile
Segment usage table
Inode table
Size constraints
Working with ifile
Synchronization
Live and dead entities and inode versions
Data segment layout
Partial segment layout
Blocks
Inodes
Journals
Finfos
Kernel Module Implementation Overview
In-Memory Structures
Info structures
Inodes and indirect blocks in memory
Free space accounting and preallocation
Reading files
Writing data
Tasks performed by the segment building code
Stages of the segment building code
Plans
Synchronization
Writing pages
Writing inodes
Segment finishing
BIO finish callbacks
Dealing with errors
Garbage collector writes
Syncing
Flushing cache
Planning a consistent ifile
Building the sync plan
Flushing the segment plan
Fsync
Ihash
Hash table
Use cases
Truncate
Segment management
Providing the next segment
Segment writeouts
Safe reclaiming
Managing the currently written segment
Syncing thread
Garbage collector
Communication protocol
Sending messages to the user space
Processing cleaner requests
Directories
Overview
Structures
Index tree
Resolve operation
Adding directory entries
Removing directory entries
Symbolik links
Journalling
Readdir
Journaling subsystem
Interface for directory operations
Interface for the segment builder
Snapshot
Implementation
Free segments tracking
Free space accounting
Inodes
Blocks
Working segment
References
Utilities Implementation Overview
mkfs.lfs
Initiation
Write functions design
Root directory
Ifile
Non-data segments
Garbage collector - user space part
Overview
Source code
Most important functions
Decision process
Logging
Manual pages
The GNU General Public License
List of Figures
List of Tables
Bibliography
Viliam Holub 2006-12-04