Re: 2.2.12 NFS bug

Trond Myklebust (trond.myklebust@fys.uio.no)
23 Sep 1999 15:07:37 +0200


Camm Maguire <camm@enhanced.com> writes:

> Greetings! With Linux 2.2.12 mounting from Linux 2.2.12, with the
> following mount options:
>
> rw,rsize=8192,wsize=8192,soft,addr=i19
>
> I got the following kernel error on the client after 11 days:
>
> Sep 20 14:30:03 intech5 kernel: __nfs_fhget: inode 671088898 still busy, i_count=2
> Sep 20 14:30:03 intech5 kernel: __nfs_fhget: killing /// filehandle
>
>
> The mount became hung, and had to be umounted and remounted.

The first message means that a given inode was judged as being stale
by the file lookup code, and so all file handles associated with it
were killed. The second message seems to indicate the inode number was
the same as that of the root inode.

Are you using the CONFIG_NFSD_SUN option on the server? That can give
this type of problems.

The thing is that NFS gives you 2 numbers with which to identify files:
- fsid is equivalent to the device number
- fileid is equivalent to the inode number.

We only use the fileid for indentifying the file, hence when you
access CONFIG_NFSD_SUN-style submounts then the NFS client can get
confused.

I have a hack which is implemented in the NFSv3 client, but it's
really a quite ugly solution which I only implemented 'cos I in any
case had to hack for 64-bit fileids.

Bottom line: Use CONFIG_NFSD_SUN submounts at your own risk. They are
NOT compatible with the Linux NFS client in the standard kernel.

Cheers,
Trond

-
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.tux.org/lkml/