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