Hi friends,
All that is listed below is hereby marked "AFAIK"...,
so here goes...
An i-node is actually a data-structure with 13 pointers being it's
content among other required data that it "holds". Ten of these
ponters are direct pointers that point to blocks of memory. The other
three pointers are the ones that we know as indirect pointers as these do
not "directly" point to data-blocks, but instead point to others
structures (i-node). This is b'cos, if it were not so the maximum file
size of a file in linux would be limited to 10 * (mem-block-sizes). I'm
not sure of my numbers but I think the first indirect pointer ie the
pointer-11 in original i-node can hold 1024 addresses (ie 1024 blocks can
be added to the "file-size"). The case with the double-indirect i-node is
that it can hold upto 1024 single-indirect nodes (ie 1024 *1024 blocks can
be added to the file size). The triple indirect node is actually meant for
REALLY-LARGE files where it provides for some (a really large SUM of
course) additional pointers. As can be seen from here this can provide for
REALLY VERRRRRRRY LARGE file sizes... So my dear kedar, an inode is
actually much much more than just a file...
Also like someone else suggested, the inode settings could be manually
controlled at installation time in one of the older slackware distros...
btw, Rohit, what of u'r experiments with i-nodes???
HTH ... Narain.
On Mon, 24 Apr 2000, Kedar Patankar wrote:
Each inode on disk represents one file exactly. When you have two
links to a file, the respective entries in the directory (for the two
links) point to the same inode in inode table. By links I mean hard links,
not symlinks.
In essence an inode is a file.
-----------------------------------------------------------------------
For information on this and other Linux India mailing lists check out
http://lists.linux-india.org/