I've been reading up on filesystems and came across the concept of inodes and VFS. Because the topics I've read about are specific to certain filesystems, I can't tell whether the concept of an inode is specific to VFS, or whether it is specific to the filesystems themselves (i.e. something is only a filesystem, in the Linux world, if it implements the inode concept) - could you please help clarify?
Also, is every filesystem in Linux accessed through VFS (i.e. no exceptions), or is VFS something that the writers of block device drivers and filesystems can choose to take advantage of?
A Virtual file system (VFS) lives on top of a regular filessytem--I would delve into the latter first. Any file system is really just a protocol for getting from the filename to the physical disk location of the various pieces of the file. inodes are part of this protocol.
If you are writing a driver for a block device, then you aren't dealing with a filesystem at all--you are dealing directly with the device.
VFS is linux's file system that is the interpreter between a file system like fat32, xfs, rieser fs, ext3, etc... and the OS...
VFS = virtual file system....VFS has some unique functions and is a fantastic fs in itself, especially allowing us to use nearly any file system....
inodes(blocks in win) are used by the file system(ext3, rieser etc) and have a size dictated by density at format time, ie you can set them at 512 bytes each, 8096 bytes, or even larger....for situations where you require lots of small files then it would be wise to use a low inode size like 512, but for large file sizes than you could use 8096 or even larger...these refinements are rarely used by most except in situations like servers and large database servers, or geeks like us...rofl
|All times are GMT -5. The time now is 10:40 AM.|