I am trying to better understand the interaction between the VFS layer and Ext2/3 file system. Linux kernel books like 'Understanding Linux Kernel' and Robert Love's book along with all the online material talk about VFS as a abstraction to the kernel that hides the various different file systems. I understand that the VFS has various objects like the Superblock Object, File Object and others and also the various operations(like methods) that can be invoked on them. On the other hand, when I got into understanding Ext2/3, I saw that this file system also had Superblocks organized as Block groups and other data structures that were similar to VFS's. Further, it also has superblock operations, inode operations among others that is so similar to VFS operations [example :- just like VFS' ulink() operation, Ext2 has ext2_ulink()]. What I am not able to understand that is the interaction between VFS and Ext2/3 data structures and methods - from both the logical point of view and implementation point of view. When I say implementation point of view I mean, I know that ext2 files are in ../fs/ext2/ directory and VFS stuff are in fs.h; now how do these interact? Do the VFS methods call corresponding ext2 methods and data structures? Is there a one-to-one corresponding between these two? Thanks in advance, KM -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/