Re: knfsd and system crashes

Russell Coker - mailing lists account (bofh@snoopy.virtual.net.au)
Sun, 16 Nov 97 23:04:50 +1000


>> The problem is that I need a dentry (i.e. a path) in order to use the
>> file in the filehandle. Getting the inode from iget() is no problem, but
>> unless I've overlooked something major, I don't see how this helps get
>> the path.

>This indicates a design flaw in the dentry approach. Searching the entire
>volume just because our in-memory data structures are not appropriate
>sounds broken.

>Some file systems (e.g. NTFS) can reconstruct the paths of a file when
>given the inode number. So maybe we add this capability in the VFS layer,
>and use it if present.

NTFS doesn't allow hard links in the general case. When you only have
one link to each file then it's not THAT difficult to go from an inode
number to a fully qualified name. In that case all you'd need is to store
the Inode number of the parent directory in the inode.
I guess we could have a scheme where we store the directory inodes
relating to the first 3 links (98% of all files have 3 or less links) and
have scope to store the block number of a block of inode numbers. This
would require significant changes to the e2fs data structures but could be
worth-while to solve all the NFS problems.

-- 
-----------------------------------------------------------
In return for "mailbag contention" errors from buggy Exchange
servers I'll set my mail server to refuse mail from your domain.
The same response applies when a message to a postmaster
account bounces.
"Russell Coker - mailing lists account" <bofh@snoopy.virtual.net.au>
-----------------------------------------------------------