Hi Ryan,
You might want to try fbt probes.
HTH.
On Wed, Nov 24, 2010 at 02:54:32PM +0100, Ryan John wrote:
> Hi Marcel,
>
> Being new to Dtrace, I can't find much documentation or examples of the
> nfssrv probes.
> I tried the following script, but I only get some UTF-8 output like:
> nfsd ò
> _ ÿÿÿ
> nfsd ÀGäb ÿÿÿ
> nfsd @5~_ ÿÿÿ
> nfsd @5~_ ÿÿÿ
> nfsd @5~_ ÿÿÿ
>
> #pragma D option quiet
>
> nfsv4:::op-getattr-start
> {
> self->prog = stringof(arg0);
> self->exn = execname;
> }
>
> nfsv4:::op-getattr-done
> / self->prog != NULL /
> {
> printf ("%-20s %s\n", execname, stringof(arg0));
> }
>
> I've tried arg0 to arg6 with no joy.
>
> Can you help me there?
>
> Thanks
> John
>
>
>
> -----Original Message-----
> From: Marcel Telka [mailto:[email protected]]
> Sent: 22 November 2010 09:00
> To: Ryan John
> Cc: [email protected]
> Subject: Re: [nfs-discuss] NFS4ERR_ACCESS returned only for some users
>
> Hi Ryan,
>
> You can try to dtrace both nfssrv and zfs kernel modules at the server to see
> what exactly is failing. Especially you might be interested in
> rfs4_op_getattr().
>
> HTH.
>
> On Sun, Nov 21, 2010 at 01:51:06PM +0100, Ryan John wrote:
> > Hi,
> >
> > I'm using openSolaris build snv_134 for my NFS server, and all my home
> > directories are exported via NFSv4 and auth_sys
> > This problem was also happening with snv_133.
> > Each user has his/her own zfs filesystem, and it is exported with
> > sharenfs='rw=*'
> >
> > My nsswitch.conf say:
> > passwd: files ldap
> > group: files ldap
> > automount: files ldap
> > The automount entry for all users looks like:
> > bs-home:/export/home/&
> > where bs-home is the name of my home server
> >
> > All users can access their home directories from Linux clients.
> > However, some users get an NFS4ERR_ACCESS returned when they try to logon
> > using a Solaris client.
> > I've tried openSolaris and Solaris 10/u6 clients.
> > I even tried setting the directory permissions to 777 - still gets an error
> > I know it should work, as I switched the home directories to a backup
> > server (also snv_134), and I don't get an error.
> >
> > Snooping a good login looks like: (bs-ssvr07-s is the home server)
> > 23 0.03542 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4
> > (secinfo ) PUTROOTFH LOOKUP export LOOKUP home SECINFO ryanj
> > 24 0.00027 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4
> > (secinfo ) NFS4_OK PUTROOTFH NFS4_OK LOOKUP NFS4_OK LOOKUP NFS4_OK
> > SECINFO NFS4_OK AUTH_SYS
> > 25 0.00064 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4 (mount
> > ) PUTROOTFH GETFH LOOKUP export GETFH GETATTR c8000167 0 LOOKUP home
> > GETFH GETATTR c8000167 0 LOOKU...
> > 26 0.00015 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4 (mount
> > ) NFS4_OK PUTROOTFH NFS4_OK GETFH NFS4_OK FH=3FAA LOOKUP NFS4_OK
> > GETFH NFS4_OK FH=B840 GETATTR NFS4_OK LOOK...
> > 27 0.00118 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4
> > (fsinfo ) PUTFH FH=83BF GETATTR 20e00000 1c00
> > 28 0.00017 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4
> > (fsinfo ) NFS4_OK PUTFH NFS4_OK GETATTR NFS4_OK
> > 29 0.00088 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4
> > (getattr ) PUTFH FH=83BF GETATTR 10011a b0a23a
> > 30 0.00019 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4
> > (getattr ) NFS4_OK PUTFH NFS4_OK GETATTR NFS4_OK
> > 31 0.01510 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4
> > (access ) PUTFH FH=83BF ACCESS rd,lk,mo,ext,dl GETATTR 10011a b0a23a
> > 32 0.00019 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4
> > (access ) NFS4_OK PUTFH NFS4_OK ACCESS NFS4_OK Supp=rd,lk,mo,ext,dl
> > Allow=rd,lk,mo,ext,dl GETATTR NFS4_OK
> >
> > A failed login looks like: (Gets NFS4ERR_ACCESS at line 30)
> > 23 0.03499 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4
> > (secinfo ) PUTROOTFH LOOKUP export LOOKUP home SECINFO bs-ryanj
> > 24 0.00022 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4
> > (secinfo ) NFS4_OK PUTROOTFH NFS4_OK LOOKUP NFS4_OK LOOKUP NFS4_OK
> > SECINFO NFS4_OK AUTH_SYS
> > 25 0.01097 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4 (mount
> > ) PUTROOTFH GETFH LOOKUP export GETFH GETATTR c8000167 0 LOOKUP home
> > GETFH GETATTR c8000167 0 LOOKU...
> > 26 0.00024 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4 (mount
> > ) NFS4_OK PUTROOTFH NFS4_OK GETFH NFS4_OK FH=3FAA LOOKUP NFS4_OK
> > GETFH NFS4_OK FH=B840 GETATTR NFS4_OK LOOK...
> > 27 0.00111 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4
> > (fsinfo ) PUTFH FH=A38E GETATTR 20e00000 1c00
> > 28 0.00011 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4
> > (fsinfo ) NFS4_OK PUTFH NFS4_OK GETATTR NFS4_OK
> > 29 0.00078 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4
> > (getattr ) PUTFH FH=A38E GETATTR 10011a b0a23a
> > 30 0.00010 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4
> > (getattr ) NFS4ERR_ACCESS PUTFH NFS4_OK GETATTR NFS4ERR_ACCESS
> > 31 0.00109 bs-sparcsvr02-z1.ethz.ch -> bs-ssvr07-s.ethz.ch NFS C 4
> > (access ) PUTFH FH=A38E ACCESS rd,lk,mo,ext,dl GETATTR 10011a b0a23a
> > 32 0.00013 bs-ssvr07-s.ethz.ch -> bs-sparcsvr02-z1.ethz.ch NFS R 4
> > (access ) NFS4ERR_ACCESS PUTFH NFS4_OK ACCESS NFS4_OK
> > Supp=rd,lk,mo,ext,dl Allow=rd,lk,mo,ext,dl GETATTR NFS4ERR_ACCESS
> >
> > I don't know if there is any difference between these users.
> >
> > I've attached the full snoop output.
> > Anyone got any ideas?
> >
> > Regards and thanks in advance
> > John Ryan
> >
> >
> >
> >
>
> > _______________________________________________
> > nfs-discuss mailing list
> > [email protected]
>
>
> --
> Marcel Telka
> RPE, Systems
--
Marcel Telka
RPE, Systems
_______________________________________________
nfs-discuss mailing list
[email protected]