[nfs-discuss] On NFS v3 client, where is the request of "NULL" operation?

2008-10-13 Thread Vallish Vaidyeshwara
Hi Danhua,

The client side code is in "cmd/fs.d/nfs/mount/mount.c" file. Please run 
the following dscript to confirm:

bash-3.2# dtrace -w -Z -c "mount -F nfs -o vers=3 nfs-server:/var/tmp/ 
/mnt"  -n 'pid$target::clnt_vc_call:entry{ustack(); stop()} 
pid$target::clnt_vc_call:return{stop()}'
dtrace: description 'pid$target::clnt_vc_call:entry' matched 0 probes
dtrace: allowing destructive actions
CPU IDFUNCTION:NAME
  0  51234   clnt_vc_call:entry
  libnsl.so.1`clnt_vc_call
  mount`wnlproc3_null_3+0x5c
  mount`get_the_addr+0x660
  mount`get_addr+0x260
  mount`getaddr_nfs+0x134
  mount`mount_nfs+0x76c
  mount`main+0x2c0
  mount`_start+0x108

If you are running snoop on server, you will not see any NFS NULL 
procedure packets when
you hit clnt_vc_call entry probe. Continue the process by using prun 
command, you will immediately see
NFS NULL procedure packets when you hit clnt_vc_call return probe.

nfs-client -> nfs-server NFS C NULL3
nfs-server -> nfs-client NFS R NULL3

Regards,
-Vallish

Danhua Shao wrote:
> Hi,
>
> I am instrumenting probes in NFS v3 client to trace the operation 
> requests send to NFS server. But I can not find where is the request of 
> "NULL" operation. For the other operations request, such as GETATTR, 
> REMOVE, I have found the points to send requests by searching 
> rfs3call(). But I can not find the corresponding part for NULL operation.
>
> I check the source code, and found that the NFS v3 server handle request 
> "NULL" in rpc_null_v3() in nfs_server.c. But where is the corresponding 
> request on client side?
>
>
> Regards,
>
> Danhua
>
>
> ___
> nfs-discuss mailing list
> nfs-discuss at opensolaris.org
>   




[nfs-discuss] On NFS v3 client, where is the request of "NULL" operation?

2008-10-12 Thread Nicolas Williams
On Sun, Oct 12, 2008 at 11:22:06PM -0500, Danhua Shao wrote:
> I check the source code, and found that the NFS v3 server handle request 
> "NULL" in rpc_null_v3() in nfs_server.c. But where is the corresponding 
> request on client side?

I suspect it's never called by the client (except via rpcinfo(1M)).

The NULL ("ping") procedure is meant to be useful for diagnostics tools
like rpcinfo(1M).

That said, I lied: the RPCSEC_GSS client code does call the NULL
procedure -- it has to, see RFC2203.

Nico
-- 



[nfs-discuss] On NFS v3 client, where is the request of "NULL" operation?

2008-10-12 Thread Danhua Shao
Hi,

I am instrumenting probes in NFS v3 client to trace the operation 
requests send to NFS server. But I can not find where is the request of 
"NULL" operation. For the other operations request, such as GETATTR, 
REMOVE, I have found the points to send requests by searching 
rfs3call(). But I can not find the corresponding part for NULL operation.

I check the source code, and found that the NFS v3 server handle request 
"NULL" in rpc_null_v3() in nfs_server.c. But where is the corresponding 
request on client side?


Regards,

Danhua