Summary
Having covered the workings of VFS in the first two chapters, this chapter gave you an introduction to common filesystems and their concepts. The Linux kernel is capable of supporting around 50 filesystems and covering each one of them is an impossible task. We maintained our focus on the native filesystems in Linux, as the kernel is capable of supporting them out of the box. We explained some features that are common among a group of filesystems, such as journaling, CoW mechanisms, and FUSE. The major focus of this chapter was the working and internal design of the extended filesystem. The extended filesystem has been around since kernel version 0.96 and is the most widely deployed filesystem on computing platforms. We also shed some light on the architecture of network filesystems and explained the differences between file and block storage. At the end, we discussed FUSE, which offers an interface for user space programs to export a filesystem to the Linux kernel.
With...