Fast File System
Original File System
Problems
- long distance between inodes/data
- inodes in single dir not close to one another
- small blocks (512 bytes)
- blocks laid out poorly
- free list becomes scrambled, causes random allocation
Conclusion
Old file system treat disk like RAM, we need to find a disk-aware file system
Implementation
- use bitmap instead of free list, provides more flexibility, with more global view.
- use groups
- Super rotation, use multiple super blocks for each group using different offset
- Larger blocks, from 512 bytes to 4 KB
- Others: long file names, atomic rename, symbolic links
Redundancy in FFS
- Dir and inode tables
- Dir and inode link counts
- Data bitmap and inode pointers
- Inode file size and inode/indirect pointers