Submit Search
Upload
File System Modules
•
0 likes
•
21,567 views
Anil Kumar Pugalia
Follow
File System Modules in Linux
Read less
Read more
Technology
Report
Share
Report
Share
1 of 37
Recommended
File System Modules
File System Modules
Anil Kumar Pugalia
USB Drivers
USB Drivers
Anil Kumar Pugalia
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
Linux Porting
Linux Porting
Anil Kumar Pugalia
PCI Drivers
PCI Drivers
Anil Kumar Pugalia
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
BeagleBoard-xM Bootloaders
BeagleBoard-xM Bootloaders
SysPlay eLearning Academy for You
Recommended
File System Modules
File System Modules
Anil Kumar Pugalia
USB Drivers
USB Drivers
Anil Kumar Pugalia
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
BeagleBone Black Bootloaders
BeagleBone Black Bootloaders
SysPlay eLearning Academy for You
Linux Porting
Linux Porting
Anil Kumar Pugalia
PCI Drivers
PCI Drivers
Anil Kumar Pugalia
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
BeagleBoard-xM Bootloaders
BeagleBoard-xM Bootloaders
SysPlay eLearning Academy for You
Video Drivers
Video Drivers
Anil Kumar Pugalia
Character Drivers
Character Drivers
Anil Kumar Pugalia
Introduction to Embedded Systems
Introduction to Embedded Systems
Anil Kumar Pugalia
Bootloaders
Bootloaders
Anil Kumar Pugalia
I2C Drivers
I2C Drivers
SysPlay eLearning Academy for You
Embedded Applications
Embedded Applications
Anil Kumar Pugalia
Linux Memory Management
Linux Memory Management
Anil Kumar Pugalia
BeagleBoard-xM Booting Process
BeagleBoard-xM Booting Process
SysPlay eLearning Academy for You
Platform Drivers
Platform Drivers
SysPlay eLearning Academy for You
Block Drivers
Block Drivers
Anil Kumar Pugalia
Board Bringup
Board Bringup
Anil Kumar Pugalia
Toolchain
Toolchain
Anil Kumar Pugalia
Low-level Accesses
Low-level Accesses
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Embedded Storage Management
Embedded Storage Management
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Introduction to Linux Drivers
Introduction to Linux Drivers
Anil Kumar Pugalia
gcc and friends
gcc and friends
Anil Kumar Pugalia
BeagleBone Black Booting Process
BeagleBone Black Booting Process
SysPlay eLearning Academy for You
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
File Systems
File Systems
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
More Related Content
What's hot
Video Drivers
Video Drivers
Anil Kumar Pugalia
Character Drivers
Character Drivers
Anil Kumar Pugalia
Introduction to Embedded Systems
Introduction to Embedded Systems
Anil Kumar Pugalia
Bootloaders
Bootloaders
Anil Kumar Pugalia
I2C Drivers
I2C Drivers
SysPlay eLearning Academy for You
Embedded Applications
Embedded Applications
Anil Kumar Pugalia
Linux Memory Management
Linux Memory Management
Anil Kumar Pugalia
BeagleBoard-xM Booting Process
BeagleBoard-xM Booting Process
SysPlay eLearning Academy for You
Platform Drivers
Platform Drivers
SysPlay eLearning Academy for You
Block Drivers
Block Drivers
Anil Kumar Pugalia
Board Bringup
Board Bringup
Anil Kumar Pugalia
Toolchain
Toolchain
Anil Kumar Pugalia
Low-level Accesses
Low-level Accesses
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Embedded Storage Management
Embedded Storage Management
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Introduction to Linux Drivers
Introduction to Linux Drivers
Anil Kumar Pugalia
gcc and friends
gcc and friends
Anil Kumar Pugalia
BeagleBone Black Booting Process
BeagleBone Black Booting Process
SysPlay eLearning Academy for You
SPI Drivers
SPI Drivers
SysPlay eLearning Academy for You
What's hot
(20)
Video Drivers
Video Drivers
Character Drivers
Character Drivers
Introduction to Embedded Systems
Introduction to Embedded Systems
Bootloaders
Bootloaders
I2C Drivers
I2C Drivers
Embedded Applications
Embedded Applications
Linux Memory Management
Linux Memory Management
BeagleBoard-xM Booting Process
BeagleBoard-xM Booting Process
Platform Drivers
Platform Drivers
Block Drivers
Block Drivers
Board Bringup
Board Bringup
Toolchain
Toolchain
Low-level Accesses
Low-level Accesses
Introduction to Linux
Introduction to Linux
Embedded Storage Management
Embedded Storage Management
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Introduction to Linux Drivers
Introduction to Linux Drivers
gcc and friends
gcc and friends
BeagleBone Black Booting Process
BeagleBone Black Booting Process
SPI Drivers
SPI Drivers
Similar to File System Modules
File Systems
File Systems
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Linux File System
Linux File System
Anil Kumar Pugalia
Linux Kernel Overview
Linux Kernel Overview
Anil Kumar Pugalia
Linux_Commands_MT.pdf
Linux_Commands_MT.pdf
RameshN849679
Shell Scripting
Shell Scripting
Anil Kumar Pugalia
File
File
Mohd Arif
Linux System
Linux System
SysPlay eLearning Academy for You
TLPI Chapter 14 File Systems
TLPI Chapter 14 File Systems
Shu-Yu Fu
File000128
File000128
Desmond Devendran
Advantages Of SAMBA
Advantages Of SAMBA
Angela Hays
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
Nicolas Collery
System Calls
System Calls
Anil Kumar Pugalia
Ite pc v40_chapter5
Ite pc v40_chapter5
paulinagonzapyl
Linux Basics
Linux Basics
Lokesh C
System Calls
System Calls
Anil Kumar Pugalia
Lec9chap8f04
Lec9chap8f04
screaminc
Linux IO
Linux IO
Liran Ben Haim
101 2.1 design hard disk layout v2
101 2.1 design hard disk layout v2
Acácio Oliveira
Windows 7 forensics -overview-r3
Windows 7 forensics -overview-r3
CTIN
Similar to File System Modules
(20)
File Systems
File Systems
Introduction to Linux
Introduction to Linux
Linux File System
Linux File System
Linux Kernel Overview
Linux Kernel Overview
Linux_Commands_MT.pdf
Linux_Commands_MT.pdf
Shell Scripting
Shell Scripting
File
File
Linux System
Linux System
TLPI Chapter 14 File Systems
TLPI Chapter 14 File Systems
File000128
File000128
Advantages Of SAMBA
Advantages Of SAMBA
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
System Calls
System Calls
Ite pc v40_chapter5
Ite pc v40_chapter5
Linux Basics
Linux Basics
System Calls
System Calls
Lec9chap8f04
Lec9chap8f04
Linux IO
Linux IO
101 2.1 design hard disk layout v2
101 2.1 design hard disk layout v2
Windows 7 forensics -overview-r3
Windows 7 forensics -overview-r3
More from Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
Embedded C
Embedded C
Anil Kumar Pugalia
Embedded Software Design
Embedded Software Design
Anil Kumar Pugalia
Playing with R L C Circuits
Playing with R L C Circuits
Anil Kumar Pugalia
Audio Drivers
Audio Drivers
Anil Kumar Pugalia
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
References
References
Anil Kumar Pugalia
Functional Programming with LISP
Functional Programming with LISP
Anil Kumar Pugalia
Power of vi
Power of vi
Anil Kumar Pugalia
"make" system
"make" system
Anil Kumar Pugalia
Hardware Design for Software Hackers
Hardware Design for Software Hackers
Anil Kumar Pugalia
RPM Building
RPM Building
Anil Kumar Pugalia
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
Linux Network Management
Linux Network Management
Anil Kumar Pugalia
Timers
Timers
Anil Kumar Pugalia
Threads
Threads
Anil Kumar Pugalia
Synchronization
Synchronization
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
Signals
Signals
Anil Kumar Pugalia
More from Anil Kumar Pugalia
(20)
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Processes
Processes
Embedded C
Embedded C
Embedded Software Design
Embedded Software Design
Playing with R L C Circuits
Playing with R L C Circuits
Audio Drivers
Audio Drivers
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
References
References
Functional Programming with LISP
Functional Programming with LISP
Power of vi
Power of vi
"make" system
"make" system
Hardware Design for Software Hackers
Hardware Design for Software Hackers
RPM Building
RPM Building
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Linux Network Management
Linux Network Management
Timers
Timers
Threads
Threads
Synchronization
Synchronization
Processes
Processes
Signals
Signals
Recently uploaded
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
The Digital Insurer
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
SynarionITSolutions
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
apidays
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
Recently uploaded
(20)
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
File System Modules
1.
© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Modules
2.
2© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What to Expect? W's of a File System Three levels of File Systems Design a File System FS relation with a Hard Disk Partition FS relation with / Writing a FS module
3.
3© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Why we need a File System? Preserve Data for Later Access Update Discard Tag Data for Categorizing Easy & Fast Lookup Fast & Reliable Data Management by Optimized Operations
4.
4© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What is a File System? Three things at three levels Hardware Space – The Physical Organization of Data on the Storage Devices Kernel Space – Drivers to decode & access the data from the Physical Organization User Space – All what you see from / - The User View Which ever it be, it basically does Organize our data For easy access by tagging For fast maintenance by optimizing
5.
5© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. The Three File Systems Hardware (Space) File System - Storer Kernel (Space) File System - Decoder User (Space) File System - Show-er Storer: Partition for the File System (/dev/*) Creating the File System (mkfs.*) Decoder: Driver for the File System (*.ko) Show-er: Root File System (/xyz) Connector of the 3: mount Let's try an example
6.
6© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Recall
7.
7© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Understanding a Hard Disk Example (Hard Disk) Heads (or Platters): 0 – 9 Tracks (or Cylinders): 0 – 24 Sectors: 1 – 64 Size of the Hard Disk 10 x 25 x 64 x 512 bytes = 8000KiB Device independent numbering (h, t, s) → 64 * (10 * t + h) + s → (1 - 16000)
8.
8© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Partitioning a Hard Disk First Sector – Master Boot Record (MBR) Contains Boot Info Contains Physical Partition Table Maximum Physical Partitions: 4 At max 1 as Extended Partition Rest as Primary Partition Extended could be further partitioned into Logical Partitions In each partition First Sector – Boot Record (BR) Remaining for File System / Format Extended Partition BR contains the Logical Partition Table
9.
9© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Placement of a Hardware FS Each Partition contains a File System Raw (no FS) Organized Organized one is initialized by the corresponding Formating “Partition Type is to OS” W95*, DOS*, BSD*, Solaris*, Linux, ... “Format Type is to File System” ext2, ext3, vfat, ntfs, jffs2, … Particular Partition Types support only Particular File System Types
10.
10© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Design a FS Let's Take 1 Partition With 2N blocks of 1 sector each Size = 2N x 512 bytes = N KiB Given 3 data pieces Source Code – 384 bytes Image – 768 bytes Document – 500 bytes Place optimally for further operations
11.
11© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Design C 384b Img 768b Doc 500b
12.
12© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Design C 384b Img ... 512b Doc 500b ...Img 256b Img 768b Doc 500b
13.
13© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Design C 384b Img ... 512b Doc 500b ...Img 256b C 384 1 1 Img 768 2 3 Doc 500 4 4 XXX X X X XXX X X X ...
14.
14© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Design C 384b Img ... 512b Doc 500b ...Img 256b C 384 1 1 Img 768 2 3 Doc 500 4 4 0 0 0 0 0 0 0 0 ...
15.
15© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Design C ... 512b Img ... 512b Doc 500b ...Img 256b C 384 1 1 Img 768 2 3 Doc 500 4 4 0 0 0 0 0 0 0 0 ... … C 488b
16.
16© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Design C ... 512b Img ... 512b Doc 500b ...Img 256b C 1000 1 5 0 0 0 Img 768 2 3 0 0 0 Doc 500 4 0 0 0 0 0 0 0 0 0 0 0 ... … C 488b
17.
17© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Design C ... 512b Img ... 512b Doc 500b ...Img 256b C 1000 4 8 0 0 0 Img 768 5 6 0 0 0 Doc 500 7 0 0 0 0 0 0 0 0 0 0 0 ... … C 488b
18.
18© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Design C ... 512b Img ... 512b Doc 500b ...Img 256b … C 488b4 FST ... C 1000 5 9 0 0 0 Img 768 6 7 0 0 0 Doc 500 8 0 0 0 0 0 0 0 0 0 0 0 ...
19.
19© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Design C ... 512b Img ... 512b Doc 500b ...Img 256b … C 488b4 FST ... C 1000 5 9 0 0 0TS rw- Img 768 6 7 0 0 0TS rw- Doc 500 8 0 0 0 0TS rw- 0 0 0 0 0 0 00 --- ...
20.
20© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Kernel Space File System Also called the File System modules Examples: ext2, ext3, vfat, ntfs, jffs2, …, real_sfs, ... Role: Decode the Hardware FS Layout to Access Data from the User Space (by implementing the decode logic) Through the following 2 Interactions: Interface with the Hardware FS Layout in the hardware partition Interface with the User Space FS to give a unified view, as at / First part done through Block Driver Second part done through VFS Kernel provides VFS to achieve the virtual user view
21.
21© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. VFS Specifics Inherited from the Linux specific FS Promoted to a super set of various FS Providing a unified view to the User Default values for various attributes owner, group, permissions, … File Types Same seven types as in ext2/ext3
22.
22© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Virtual File System Interactions complete vfat VFS ext2 Partition 1 .... Partition 2 ... Partition N ... User Space File System View @ / .... Block Driver Block Driver.... .... real_sfs Block Driver
23.
23© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Virtual File System Internals Super Block Directory Entry Table Inode Table d > File Name > Inode Number > File Meta Data > File Data Block Nos > FS Meta Data > Root Inode Number d Data Block r
24.
24© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. VFS Interaction Internals vfat VFS ext2 Buffer Cache Block Drivers Directory Cache Inode Cache .... Block Drivers
25.
25© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. VFS Translation Callbacks Five categories File System level Super Block Operations Super Block level (Meta Meta Data) Inode Operations Inode level (Meta Data) Directory Entry Operations File level (Data) File Operations through the Buffer Cache Buffer Cache level Actual Data Operations
26.
26© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Registration Header: <linux/fs.h> APIs int register_filesystem(file_system_type *) int unregister_filesystem(file_system_type *) File System Operations get_sb/mount: (Invoked by mount) get_sb_bdev/mount_bdev -> Fill the Super Block kill_sb: (Invoked by umount) kill_block_super
27.
27© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Fill the Super Block Block Size & Bits Magic Number / File System Type Super Block Operations Root Inode Inode Operations Inode Mode File Operations
28.
28© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Super Block Operations Header: <linux/fs.h> APIs write_inode: Update File Meta Data statfs: Get the File Status (Invoked by stat) simple_statfs (Handler from libfs)
29.
29© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Inode Operations Header: <linux/fs.h> APIs lookup Search the file name by absolute path Traverse the inode chain if found matching inode, then populate the dentry with the inode information Inode Information Size Mode File Operations ...
30.
30© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File Operations Header: <linux/fs.h> APIs open → generic_file_open read → do_sync_read → generic_file_aio_read → do_generic_file_read → readpage write → do_sync_write → generic_file_aio_write → generic_file_buffered_write → write_begin & write_end release readdir: Change Directory (cd). List Directory (ls) Directory Entry Fill Function fsync: Sync the File (sync) simple_sync_file
31.
31© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Address Space Operations The Buffer / Page Cache level Operations Header: <linux/fs.h> Page Operations readpage (Invoked by read) write_begin, write_end (Invoked by write) writepage (Invoked by pdflush kernel threads) Page Functions PageUptodate, PageDirty, PageWriteback, PageLocked SetPageUptodate, ClearPageDirty, unlock_page, ... page_address, ...
32.
32© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. ext2/3 Data Block Organization size ... db10 ib dib tib... db0uidmode DB0 ... DB10 ... DB11 ... ... ... ... ... DB... DB... DB...
33.
33© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Dive into the Real Driver
34.
© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Pieces – Set 1 Hardware Space File System Design (Logic) – real_sfs_ds.h File System Creator (Application) – format_real_sfs.c / mkfs.sfs.c Kernel Space File System Decoder (Driver) – real_sfs_ops.[hc] File System Translator (Driver) – real_sfs.c File System Show-er (VFS) User Space File System Connector (mount)
35.
© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. File System Pieces – Set 2 Hardware Space File System Design (Logic) – ddk_fs_ds.h File System Creator (Application) – mkfs.ddkfs.c Kernel Space File System Decoder (Driver) – ddk_fs_ops.[hc] File System Translator (Driver) – ddk_fs.c File System Show-er (VFS) User Space File System Connector (mount)
36.
36© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. What all have we learnt? W's of a File System Three levels of File Systems And relation between them Design a File System FS relation with a Hard Disk Partition FS relation with / Role of VFS Writing a FS module Simplified Interaction with the Block Driver 5 Operation Sets with VFS
37.
37© 2010-19 SysPlay
Workshops <workshop@sysplay.in> All Rights Reserved. Any Queries?