The Sunday 2005-04-10 at 16:33 -0700, Randall R Schulz wrote:
xfs_ncheck - generate pathnames from i-numbers for XFS
[...] That's it exactly. I'm surprised there aren't counterparts for the other file system formats.
Yes, I looked using pin, and it is not there, not in 9.1 nor 7.3. For older versions I would have to search on CDs. Unless the name is different :-?
Ahh! An inode is simply an structure listing file properties and the list of blocks it occupies. And inodes are grouped in tables, repeating info. How simple!
Good ideas are often simple. And in retrospect, obvious. Coming at them from the perspective of the inventor, it's often not so clear what will work best.
I also understand now why fat uses less space, it was designed for floppies initially. An inode has to reserve space to map any file completely, whereas each fat entry is only a word (or a long word). But, to read a file, FAT has to follow the chain of links. Probably easier to foul up.
:-)
Perhaps I oversimplify.
In fact, you do not. That's exactly it. Now exactly how you represent the "list of blocks it occupies" and get space and time efficiency and robustness in the face of failure and how you structure the free space index and how you lay out on-disk structures all introduce complications into real-world file system designs and implementations. But the inode table + directory tree structure is the essence of all Unix file systems.
I see. Yes, ideas are simple in retrospect. The initial spark of genius is something else. -- Cheers, Carlos Robinson