Inode table
David Kreuter
dkreuter-q4+D78v0SMv8u52rGdhAxQ at public.gmane.org
Thu Jan 13 14:55:46 UTC 2005
thanks - very informative. I'm interested as well in how the inode table
is allocated in memory. For now I'll just consider it as an abstract table -
David
Lennart Sorensen wrote:
>On Wed, Jan 12, 2005 at 09:32:23PM -0500, David Kreuter wrote:
>
>
>>A few questions on the inode table in memory. Is the inode table in
>>contiguous memory per file system? Or is it a linked list or some other
>>data construct? Does it matter in the sense thats it's an abstraction
>>and could be described as a contiguous table? Is the contruct different
>>based on linux distro?
>>Or is it always bolted in memory from, say, the always in core inode
>>for root of the filesystem?
>>Different based on file system?
>>Realizing that the disk structure are different.
>>
>>
>
>Each type of filesystem uses it's own layout for the filesystem
>metadata. ext2 and ext3 being a bit of an exception since they share
>the majority of the disk layout, with ext3 just using an extra file in a
>special way and maintaining directories in a more strict but backwards
>compatible way.
>
>I suspect most filesystems have a continuous chunk for their inode table
>(I think that is what the superblock is for, or at least it has a
>pointer to the inode blocks if nothing else, and of course is duplicated
>multiple times on the disk, just in case.) and most of the unix type
>filesystems use cylinder groups to spread the data across the disk while
>trying to minimize file level fragmentation.
>
>The main difference between filesystems is really how they keep track of
>files and hence store that meta data in the filesystem. Storing the
>actual data everyone does the same. Data goes onto the disk somewhere a
>block at a time, usually cintoguous blocks if possible, and then some
>table of block numbers is stored in the meta data (in the inode is
>equivalant). Directories are then files that store filename to inode
>mappings. Multiple filenames can point to the same inode (hardlinks),
>and special filetypes without an inode can be created too (character and
>block devices, pipes, symlinks, etc).
>
>Not sure that really answered your question. Hopefully it was still
>interesting.
>
>Lennart Sorensen
>--
>The Toronto Linux Users Group. Meetings: http://tlug.ss.org
>TLUG requests: Linux topics, No HTML, wrap text below 80 columns
>How to UNSUBSCRIBE: http://tlug.ss.org/subscribe.shtml
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://gtalug.org/pipermail/legacy/attachments/20050113/d6f76506/attachment.html>
More information about the Legacy
mailing list