SlideShare a Scribd company logo
File Systems:
Why, How and Where
Philip Derbeko
enSilo
2017
The Tragedy
of
FileSystems
The Tragedy of FileSystems
•Scale and scalability
•Reliability
•Recovery
•Complexity
The Tragedy of FileSystems
The Tragedy of FileSystems
•Scale and scalability
•Reliability
•Recovery
•Complexity
•Flexibility for developers
Challenges
1. Metadata performance
2. Reliability and Recovery
3. Small files performance
4. Large files performance
5. Storage Management
Components
•Block allocation
•Directory Management
•File and Directory operations
•Inode handling
•Transactions and journaling
•Superblock handling
•FS tree
•Other
Beginning –
Sequential
Sequential File System
Header:
name,
length
Footer:
Name
CRC
DATA
UNTIL …
Disk – The
king of
storage
Disk -
Anatomy
You are here
Simplest possible FS – FAT
ext2
How it is done
file
file
file
dentry
dentry
inode
inode
File attributes
Direct blocks
Direct blocks
…
Indirect
blocks
Double
Indirect
blocks
Triple
Indirect
blocks
DirectDirectDirectDirect
DirectDirectDirect
DirectDirectDirectDirect
Ext2 - fsck
•Unclean mount or mount counter
•Not everything can be solved
•Plan:
• Superblock check
• Free Blocks
• Inode sanity
• Inode links
• Duplicates
• Bad Blocks
• Directory checks
SLOW!!!
Other consistency options – Soft Updates
•Dependency Rules:
1. Never point to uninitialized structure
2. Never reuse before nullifying the pointers
3. Never reset an old pointer before a new one was set
Other
consistency
options -
COW
ext3
1. Journaling
2. Online file system growth
3. Directory indexing (not really, as was done for ext2 as well)
Ext3 - journaling
TxB TxEInode
Bit
map
WriteBack
Data
Ext3 - journaling
TxB TxEInode
Bit
map
Ordered
Data
Ext3 - journaling
TxB TxEInode
Bit
map
DataFull Journal
Data
Ext3 – Journal final comments
•Journal-assisted recovery: Redo Logging
•Commit Batching
•Journal Cleaning – mark the last checkpoint in journal superblock
•Deletes and reuse
Ext4
•Backward and forward compatible – up to a certain point
•Scalability
•“Sequentiality” improvements:
• Extent-based allocations
• Journal checksum speed up
• Delayed allocations
•Transparent Encryption
Performance Optimizations
1. Synchronization of operations (the less is the better)
2. Locality of allocations
3. I/O Scheduling
4. Scalability
5. Caching
6. Pre-fetching
New Sheriff
in town
New Features
•Snapshotting
•Versioning
•Backups
•Deduplication
•Data and meta data checksums
BTRFS (“Better FS”)
BTRFS (“Better FS”)
BTRFS (“Better FS”)
Newer is better?
FS Sizes
FS Patches (Linux 2.6 over 5079 patches)
•Maintenance (45%)
•Bugs (35%) – constant bug fixing over the life of FS
•Performance
•Reliability
•Features
FAST 2013 – “A Study of Linux File System Evolution”
Bug Consequences
•Corruption
•Crash
•Failure of operation
•Deadlock
•Hang
•Memory leak
•Other
FAST 2013 – “A Study of Linux File System Evolution”
38% of bugs are on
failure paths
frequency
“Timeline” – facts should not mess a story
Berkley
FFS
ext2
ext3
ReiserFS
ext4
ZFS
BTRFS
FAT
FAT32
NTFS
WinFS (dead)
ReFS
HFS
HFS+
APFS
What was not covered
•Shared, network, distributed and clustered file systems:
• WAFL
• AFS
• GFS and DFS
• WebDav
•Volume Management
•UnionFS (Knoppix CD+HDD, Docker layers)
The End
Keep in touch: philip@ensilo.com

More Related Content

PDF
The Linux Block Layer - Built for Fast Storage
PPTX
Kernel Proc Connector and Containers
PDF
OpenWrt From Top to Bottom
PDF
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
PDF
OpenZFS at LinuxCon
PDF
OpenZFS Channel programs
PDF
IITCC15: Xen Project 4.6 Update
PDF
OpenZFS - AsiaBSDcon
The Linux Block Layer - Built for Fast Storage
Kernel Proc Connector and Containers
OpenWrt From Top to Bottom
Emerging Persistent Memory Hardware and ZUFS - PM-based File Systems in User ...
OpenZFS at LinuxCon
OpenZFS Channel programs
IITCC15: Xen Project 4.6 Update
OpenZFS - AsiaBSDcon

What's hot (20)

PDF
Kernel Recipes 2017 - Build farm again - Willy Tarreau
PDF
OpenZFS - BSDcan 2014
PDF
XPDS13: VIRTUAL DISK INTEGRITY IN REAL TIME JP BLAKE, ASSURED INFORMATION SE...
PDF
Status of Embedded Linux
PPTX
XenTT: Deterministic Systems Analysis in Xen
PDF
Smb gluster devmar2013
PDF
Linux Kernel Live Patching
ODP
Gluster technical overview
PPSX
FD.io Vector Packet Processing (VPP)
PDF
OpenZFS code repository
PDF
Opensource approach to design and deployment of Microservices based VNF
PDF
Kernel Recipes 2015 - So you want to write a Linux driver framework
ODP
20160401 Gluster-roadmap
PDF
[若渴計畫] Challenges and Solutions of Window Remote Shellcode
PDF
Foss Gadgematics
PPT
Linux Kernel Debugging
PDF
[若渴]Study on Side Channel Attacks and Countermeasures
PDF
EBPF and Linux Networking
PDF
Sdc 2012-challenges
PDF
Ceph Tech Talk: Ceph at DigitalOcean
Kernel Recipes 2017 - Build farm again - Willy Tarreau
OpenZFS - BSDcan 2014
XPDS13: VIRTUAL DISK INTEGRITY IN REAL TIME JP BLAKE, ASSURED INFORMATION SE...
Status of Embedded Linux
XenTT: Deterministic Systems Analysis in Xen
Smb gluster devmar2013
Linux Kernel Live Patching
Gluster technical overview
FD.io Vector Packet Processing (VPP)
OpenZFS code repository
Opensource approach to design and deployment of Microservices based VNF
Kernel Recipes 2015 - So you want to write a Linux driver framework
20160401 Gluster-roadmap
[若渴計畫] Challenges and Solutions of Window Remote Shellcode
Foss Gadgematics
Linux Kernel Debugging
[若渴]Study on Side Channel Attacks and Countermeasures
EBPF and Linux Networking
Sdc 2012-challenges
Ceph Tech Talk: Ceph at DigitalOcean
Ad

Similar to File Systems: Why, How and Where (20)

PDF
Do journaling filesystems guarantee against corruption after a power failure (1)
PDF
Linux passwords class 4
PPTX
Root file system
PPT
Linux file system
PPTX
Introduction_to_File_Systems_Updated.pptx
PPTX
File-System-Implementation in Operating System
PDF
OSDC 2011 | Enterprise Linux Server Filesystems by Remo Rickli
PDF
S8 File Systems Tutorial USENIX LISA13
PDF
009709863.pdf
PPTX
Operating System
PPT
101 4.2 maintain the integrity of filesystems
PPTX
Ext filesystem4
PDF
Ch11 file system implementation
PPTX
file system overview in oerating system .
ODP
The evolution of linux file system
ODP
Case study of BtrFS: A fault tolerant File system
PPT
XFS.ppt
PDF
Fsck Sx
PDF
Fsck Sx
Do journaling filesystems guarantee against corruption after a power failure (1)
Linux passwords class 4
Root file system
Linux file system
Introduction_to_File_Systems_Updated.pptx
File-System-Implementation in Operating System
OSDC 2011 | Enterprise Linux Server Filesystems by Remo Rickli
S8 File Systems Tutorial USENIX LISA13
009709863.pdf
Operating System
101 4.2 maintain the integrity of filesystems
Ext filesystem4
Ch11 file system implementation
file system overview in oerating system .
The evolution of linux file system
Case study of BtrFS: A fault tolerant File system
XFS.ppt
Fsck Sx
Fsck Sx
Ad

More from Kernel TLV (20)

PDF
DPDK In Depth
PDF
Building Network Functions with eBPF & BCC
PDF
SGX Trusted Execution Environment
PDF
Fun with FUSE
PPTX
Bypassing ASLR Exploiting CVE 2015-7545
PDF
Present Absence of Linux Filesystem Security
PDF
Make Your Containers Faster: Linux Container Performance Tools
PDF
netfilter and iptables
PDF
KernelTLV Speaker Guidelines
PDF
Userfaultfd: Current Features, Limitations and Future Development
PDF
Linux Kernel Cryptographic API and Use Cases
PPTX
DMA Survival Guide
PPSX
FD.IO Vector Packet Processing
PPTX
WiFi and the Beast
PPTX
Introduction to DPDK
PDF
FreeBSD and Drivers
PDF
Specializing the Data Path - Hooking into the Linux Network Stack
PPTX
Linux Interrupts
PDF
Userfaultfd and Post-Copy Migration
PDF
VLANs in the Linux Kernel
DPDK In Depth
Building Network Functions with eBPF & BCC
SGX Trusted Execution Environment
Fun with FUSE
Bypassing ASLR Exploiting CVE 2015-7545
Present Absence of Linux Filesystem Security
Make Your Containers Faster: Linux Container Performance Tools
netfilter and iptables
KernelTLV Speaker Guidelines
Userfaultfd: Current Features, Limitations and Future Development
Linux Kernel Cryptographic API and Use Cases
DMA Survival Guide
FD.IO Vector Packet Processing
WiFi and the Beast
Introduction to DPDK
FreeBSD and Drivers
Specializing the Data Path - Hooking into the Linux Network Stack
Linux Interrupts
Userfaultfd and Post-Copy Migration
VLANs in the Linux Kernel

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
AI in Product Development-omnex systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
top salesforce developer skills in 2025.pdf
PTS Company Brochure 2025 (1).pdf.......
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Understanding Forklifts - TECH EHS Solution
AI in Product Development-omnex systems
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Softaken Excel to vCard Converter Software.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Digital Strategies for Manufacturing Companies
Upgrade and Innovation Strategies for SAP ERP Customers
CHAPTER 2 - PM Management and IT Context
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Which alternative to Crystal Reports is best for small or large businesses.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
top salesforce developer skills in 2025.pdf

File Systems: Why, How and Where