Re: nfsv3 won't interoperate with solaris (still!)

Martin Tessun (martin.tessun@class.de)
Sun, 06 Aug 2000 18:27:10 +0200


Hello,

> >
> > ls -l /net/adglinux1/disk1
> > ls: /net/adglinux1/disk1: Permission denied
> >
> > Now the Solaris syslog says:
> >
> > Aug 4 16:40:06 adgsun2 automountd[173]: adglinux1 server not
> > responding: RPC: Program/version mismatch
> >
>
> Hmm.. What versions of mountd, and nfsd are your server supporting?
> Show us the output of
>
> rpcinfo -p linux-nfs-server-host-name
>
> Also, what version of nfs would you expect the automounter to be
> using? Is it configured or have you let it default?
>
> > The Linux server says:
> >
> > Aug 4 16:40:06 adglinux1 mountd[578]: export request from
> > 139.85.108.42
> >
> > I don't have any problem is I don't enable NFSv3 support.
>
> You "don't enable NFSv3" in the nfsd kernel or in the automounter or ... ?
>
> Maybe you are running mountd with "--no-nfs-version 3" ?

well I have the same Problem (I just mount under Solaris with -o vers=2
;) )

What exactly happens:

Lets say I have mounted some NFSV3 from Linux on Solaris:

# mount xyz:/export/test /mnt

Now let's go in some subdirectory:

# cd /mnt/x/y/z

Now let's do a pwd

# pwd
/x/y/z

Notize that the answer is /x/y/z!
On the Linux-side I get:
Aug 6 18:18:20 worf kernel: nfsd Security: /// bad export.

On the Solaris-side I get nothing.

Programs relying on information about pwd are'nt affected in any way.
(Unfortunately cvs is!)

Hope this describes the Problem a bit better.

Here is a snoop-output from Solaris-side:

relax# snoop rpc nfs between worf relax
Using device /dev/hme (promiscuous mode)
relax -> worf NFS C GETATTR3 FH=000A
worf -> relax NFS R GETATTR3 OK
relax -> worf NFS C ACCESS3 FH=000A (lookup)
worf -> relax NFS R ACCESS3 OK (lookup)
relax -> worf NFS C GETATTR3 FH=CB17
worf -> relax NFS R GETATTR3 OK
relax -> worf NFS C GETATTR3 FH=6143
worf -> relax NFS R GETATTR3 OK
relax -> worf NFS C GETATTR3 FH=9C53
worf -> relax NFS R GETATTR3 OK

Here: cd'ed into the directory

relax -> worf NFS C GETATTR3 FH=6143
worf -> relax NFS R GETATTR3 OK
relax -> worf NFS C GETATTR3 FH=CB17
worf -> relax NFS R GETATTR3 OK
relax -> worf NFS C GETATTR3 FH=000A
worf -> relax NFS R GETATTR3 OK
relax -> worf NFS C GETATTR3 FH=000A
worf -> relax NFS R GETATTR3 OK
relax -> worf NFS C GETATTR3 FH=000A
worf -> relax NFS R GETATTR3 OK

This was the pwd.

The next snoop is between Solaris<->Solaris machine:

relax# snoop rpc nfs between converse relax
Using device /dev/hme (promiscuous mode)
relax -> converse NFS C NULL3
converse -> relax NFS R NULL3
relax -> converse NFS C FSINFO3 FH=008C
converse -> relax NFS R FSINFO3 OK
relax -> converse NFS C GETATTR3 FH=008C
converse -> relax NFS R GETATTR3 OK
relax -> converse NFS C ACCESS3 FH=008C (lookup)
converse -> relax NFS R ACCESS3 OK (lookup)
relax -> converse NFS C ACCESS3 FH=008C (read)
converse -> relax NFS R ACCESS3 OK (read)
relax -> converse NFS C READDIRPLUS3 FH=008C Cookie=0 for 1048/8192
converse -> relax NFS R READDIRPLUS3 OK 3 entries (No more)
relax -> converse NFS C ACCESS3 FH=CC36 (lookup)
converse -> relax NFS R ACCESS3 OK (lookup)

Till here the cd.

relax -> converse NFS C PATHCONF3 FH=CC36
converse -> relax NFS R PATHCONF3 OK
relax -> converse NFS C LOOKUP3 FH=CC36 ..
converse -> relax NFS R LOOKUP3 OK FH=008C
relax -> converse NFS C GETATTR3 FH=008C
converse -> relax NFS R GETATTR3 OK

This was the pwd.

HTH
Martin

-
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/