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]

Reply via email to