Next | Internals of ext2fs | 19 |
Why isn't the name of a file in the inode?
Because on a Unix system, a file can be known by more than one name
For example, /home/mjd/Mail/.., /home/mjd/., and /home/mjd are all the same file
It's the directories that supply names, not the inodes
A directory looks like this:
. 802881 .. 673145 .bak 802882 .width-errors 802888 Flags.slides 802884 INAMBLE 802885 MAKE_SLIDES 802886 Makefile 802887 .slide_names 802890 POSTAMBLE 802889 ext2fs.slides 802883 ...
Each line is called a link. It has a name and an i-number
Hence the link and unlink system calls
The actual format of a link varies from version to version of Unix
Originally, each link was just 14 bytes of name followed by 2 bytes of i-number
ext2fs uses counted-length names instead of fixed-length names
Next | Copyright © 2001 M. J. Dominus |