Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Architecture and Design of the Linux Storage Stack

You're reading from   Architecture and Design of the Linux Storage Stack Gain a deep understanding of the Linux storage landscape and its well-coordinated layers

Arrow left icon
Product type Paperback
Published in Jul 2023
Publisher Packt
ISBN-13 9781837639960
Length 246 pages
Edition 1st Edition
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Muhammad Umer Muhammad Umer
Author Profile Icon Muhammad Umer
Muhammad Umer
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

Preface 1. Part 1: Diving into the Virtual Filesystem
2. Chapter 1: Where It All Starts From – The Virtual Filesystem FREE CHAPTER 3. Chapter 2: Explaining the Data Structures in a VFS 4. Chapter 3: Exploring the Actual Filesystems Under the VFS 5. Part 2: Navigating Through the Block Layer
6. Chapter 4: Understanding the Block Layer, Block Devices, and Data Structures 7. Chapter 5: Understanding the Block Layer, Multi-Queue, and Device Mapper 8. Chapter 6: Understanding I/O Handling and Scheduling in the Block Layer 9. Part 3: Descending into the Physical Layer
10. Chapter 7: The SCSI Subsystem 11. Chapter 8: Illustrating the Layout of Physical Media 12. Part 4: Analyzing and Troubleshooting Storage Performance
13. Chapter 9: Analyzing Physical Storage Performance 14. Chapter 10: Analyzing Filesystems and the Block Layer 15. Chapter 11: Tuning the I/O Stack 16. Index 17. Other Books You May Enjoy

Summary

The Linux storage stack is a complex design and consists of multiple layers, all of which work in coordination. Like other hardware resources, storage lies in the kernel space. When a user space program wants to access any of these resources, it has to invoke a system call. The system call interface in Linux allows user space programs to access resources in the kernel space. When a user space program wants to access something on the disk, the first component it interacts with is the VFS subsystem. The VFS provides an abstraction of filesystem-related interfaces and is responsible for accommodating multiple filesystems in the kernel. Through its common filesystem interface, the VFS intercepts the generic system calls (such as read() and write()) from the user space programs and redirects them to their appropriate interfaces in the filesystem layer. Because of this approach, the user space programs do not need to worry about the underlying filesystems being used, and they can uniformly perform filesystem operations.

This chapter served as an introduction to the major Linux kernel subsystem Virtual Filesystem and its primary functions in the Linux kernel. The VFS provides a common interface for all filesystems through data structures, such as inodes, superblocks, and directory entries. In the next chapter, we will take a look at these data structures and explain how they all help the VFS to manage multiple filesystems.

You have been reading a chapter from
Architecture and Design of the Linux Storage Stack
Published in: Jul 2023
Publisher: Packt
ISBN-13: 9781837639960
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image