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
_______________________________________________
nfs-discuss mailing list
[email protected]

Reply via email to