Re: NFS: Hash collision with the root inode ???

Bill Hawes (whawes@star.net)
Wed, 02 Sep 1998 11:51:15 -0400


Matthias Urlichs wrote:
> I have a VERY strange NFS error here.
>
> Whenever I lstat() a certain file across NFS, the call succeeds, but all
> accesses afterwards return EIO. The kernel logs:
>
> __nfs_fhget: inode 1234567 busy, i_count=2, i_nlink=18
> __nfs_fhget: inode 1234567 still busy, i_count=2
> __nfs_fhget: killing /// filehandle
>
> After this, the mount is dead; everything afterwards returns -EIO.
> This happens only with this one specific file and is 100% reproducible.
>
> Examining the file stats with "strace -v -e=lstat ls FILE" did not show
> anything 'interesting'; file modes etc. are all correct and look basically
> the same as any other file in that directory.
>
> Suspicion: Does the NFS server hash the file onto the root directory???
> If so, this is a major problem with the user-mode NFS server, right?
> ARRGH!

It's certainly possible (though unlikely) to get a inode hash collision
with the unfsd server. To check this out, you could look up the inode
number of the file in question on its native filesystem, and then run
that through the unfsd hash algorithm. If it matches the inode number
reported in the kernel messages, that would confirm your conjecture.

If this is what's happening, there are some ways unfsd could be modified
to avoid the problem.

Regards,
Bill

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html