From ahl@zday.sfbay.sun.com Thu Jan 24 19:15:07 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m0P3F65q002576
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 24 Jan 2008 19:15:06 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m0P3F3S7001024;
	Fri, 25 Jan 2008 03:15:05 GMT
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JV600H0HJP30C00@nwk-avmta-2.sfbay.sun.com>; Thu,
 24 Jan 2008 19:15:03 -0800 (PST)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JV600FINJP16V00@nwk-avmta-2.sfbay.sun.com>; Thu,
 24 Jan 2008 19:15:01 -0800 (PST)
Received: from zday.sfbay.sun.com (zday.SFBay.Sun.COM [10.6.46.178])
 by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id m0P3F1TT059939; Thu, 24 Jan 2008 19:15:01 -0800 (PST)
Received: from zday.sfbay.sun.com (localhost [127.0.0.1])
 by zday.sfbay.sun.com (8.14.1+Sun/8.14.1) with ESMTP id m0P2AliA464746; Thu,
 24 Jan 2008 18:10:47 -0800 (PST)
Received: (from ahl@localhost)	by zday.sfbay.sun.com (8.14.1+Sun/8.14.1/Submit)
 id m0P2Alob464742; Thu, 24 Jan 2008 18:10:47 -0800 (PST)
Date: Thu, 24 Jan 2008 18:10:47 -0800 (PST)
From: Adam Leventhal <ahl@zday.sfbay.sun.com>
Subject: DTrace NFS v3 Provider [PSARC/2008/050 FastTrack timeout 01/24/2008]
To: PSARC-ext@sun.com
Cc: adam.leventhal@sun.com, lisa.weeks@sun.com, sam.falkner@sun.com
Message-id: <200801250210.m0P2Alob464742@zday.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 4333


Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 DTrace NFS v3 Provider
    1.2. Name of Document Author/Supplier:
	 Author:  Adam Leventhal
    1.3  Date of This Document:
	24 January, 2008
4. Technical Description
The following specification describes the NFS v3 provider for DTrace. It has
been reviewed and approved by the DTrace community; the PSARC case is
closed approved automatic to record the interface. The stability is Committed
and the binding is Patch.

---8<---

NFS v3 Provider

All NFS operation probes have the first argument in common:

	args[0]		conninfo_t *		socket connection information

The conninfo_t structure is already used by the iSCSI target provider (iscsi)
and the NFS v4 provider (nfsv4), and is intended for use by all providers
related to a higher level protocol (e.g. iscsi, nfs, http, ftp).

	typedef struct conninfo {
		string ci_local;        /* local host address */
		string ci_remote;       /* remote host address */
		string ci_protocol;     /* protocol (ipv4, ipv6, etc) */
	} conninfo_t;


Operation probes have their second argument in common:

	args[1]		nfsv3opinfo_t *		NFS v3 operation properties

	typedef struct nfsv3opinfo {
		string noi_curpath;	/* current file handle path (if any) */
		cred_t *noi_cred;	/* credentials */
		uint64_t noi_xid;	/* transaction ID */
	} nfsv4opinfo_t;

Below is a list of the probes along with the specific argument for each
whose type is defined by the NFS v3 specification:

	probe name				args[2]
	----------				-------
	nfsv3:::op-access-start			ACCESS3args *
	nfsv3:::op-access-done			ACCESS3res *
	nfsv3:::op-commit-start			COMMIT3args *
	nfsv3:::op-commit-done			COMMIT3res *
	nfsv3:::op-create-start			CREATE3args *
	nfsv3:::op-create-done			CREATE3res *
	nfsv3:::op-fsinfo-start			FSINFO3args *
	nfsv3:::op-fsinfo-done			FSINFO3res *
	nfsv3:::op-fsstat-start			FSSTAT3args *
	nfsv3:::op-fsstat-done			FSSTAT3res *
	nfsv3:::op-getattr-start		GETATTR3args *
	nfsv3:::op-getattr-done			GETATTR3res *
	nfsv3:::op-lookup-start			LOOKUP3args *
	nfsv3:::op-lookup-done			LOOKUP3res *
	nfsv3:::op-link-start			LINK3args *
	nfsv3:::op-link-done			LINK3res *
	nfsv3:::op-mkdir-start			MKDIR3args *
	nfsv3:::op-mkdir-done			MKDIR3res *
	nfsv3:::op-mknod-start			MKNOD3args *
	nfsv3:::op-mknod-done			MKNOD3res *
	nfsv3:::op-null-start			-
	nfsv3:::op-null-done			-
	nfsv3:::op-pathconf-start		PATHCONF3args *
	nfsv3:::op-pathconf-done		PATHCONF3res *
	nfsv3:::op-read-start			READ3args *
	nfsv3:::op-read-done			READ3res *
	nfsv3:::op-readdir-start		READDIR3args *
	nfsv3:::op-readdir-done			READDIR3res *
	nfsv3:::op-readdirplus-start		READDIRPLUS3args *
	nfsv3:::op-readdirplus-done		READDIRPLUS3res *
	nfsv3:::op-readlink-start		READLINK3args *
	nfsv3:::op-readlink-done		READLINK3res *
	nfsv3:::op-remove-start			REMOVE3args *
	nfsv3:::op-remove-done			REMOVE3res *
	nfsv3:::op-renamestart			RENAME3args *
	nfsv3:::op-rename-done			RENAME3res *
	nfsv3:::op-rmdir-start			RMDIR3args *
	nfsv3:::op-rmdir-done			RMDIR3res *
	nfsv3:::op-setattr-start		SETATTR3args *
	nfsv3:::op-setattr-done			SETATTR3res *
	nfsv3:::op-symlink-start		SYMLINK3args *
	nfsv3:::op-symlink-done			SYMLINK3res *
	nfsv3:::op-write-start			WRITE3args *
	nfsv3:::op-write-done			WRITE3res *

Note that op-null-* probes have an undefined args[2].

Documentation and examples can be found here:

  http://wikis.sun.com/display/DTrace/nfsv3+Provider

The table below describes the DTrace stability levels

                 |  Name            Data            Class                       
    -------------+-------------------------------------------                   
    Provider     |  Evolving        Evolving        ISA                         
    Module       |  Private         Private         Unknown                     
    Function     |  Private         Private         Unknown                     
    Name         |  Evolving        Evolving        ISA                         
    Arguments    |  Evolving        Evolving        ISA                         

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		OS/Net
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


From Spencer.Shepler@sun.com Thu Jan 24 22:34:51 2008
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m0P6Ypi3005194
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 24 Jan 2008 22:34:51 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m0P6YoJb004813;
	Thu, 24 Jan 2008 22:34:50 -0800 (PST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JV600M03SY2NX00@brm-avmta-1.central.sun.com>; Thu,
 24 Jan 2008 23:34:50 -0700 (MST)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JV6003VOSY1SXB0@brm-avmta-1.central.sun.com>; Thu,
 24 Jan 2008 23:34:50 -0700 (MST)
Received: from fe-amer-10.sun.com ([192.18.109.80])
 by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id m0P6YnUc021490; Fri,
 25 Jan 2008 06:34:49 +0000 (GMT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JV600101SUWTC00@mail-amer.sun.com>
 (original mail from Spencer.Shepler@Sun.COM); Thu,
 24 Jan 2008 23:34:49 -0700 (MST)
Received: from [192.168.0.3]
 (adsl-71-145-149-37.dsl.austtx.sbcglobal.net [71.145.149.37])
 by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0JV600C4ASY0QNC0@mail-amer.sun.com>; Thu,
 24 Jan 2008 23:34:49 -0700 (MST)
Date: Fri, 25 Jan 2008 00:34:48 -0600
From: Spencer Shepler <Spencer.Shepler@sun.com>
Subject: Re: DTrace NFS v3 Provider [PSARC/2008/050 FastTrack timeout
 01/24/2008]
In-reply-to: <200801250210.m0P2Alob464742@zday.sfbay.sun.com>
Sender: Spencer.Shepler@sun.com
To: Adam.Leventhal@sun.com
Cc: PSARC-ext@sun.com, lisa.weeks@sun.com, Sam Falkner <Sam.Falkner@sun.com>
Message-id: <BB1D9E51-6A1E-48A9-8E8D-CE2D79573173@sun.com>
MIME-version: 1.0
X-Mailer: Apple Mail (2.753)
Content-type: text/plain; format=flowed; delsp=yes; charset=US-ASCII
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200801250210.m0P2Alob464742@zday.sfbay.sun.com>
Status: RO
Content-Length: 4508


On Jan 24, 2008, at 8:10 PM, Adam Leventhal wrote:

>
> Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI
> This information is Copyright 2008 Sun Microsystems
> 1. Introduction
>     1.1. Project/Component Working Name:
> 	 DTrace NFS v3 Provider
>     1.2. Name of Document Author/Supplier:
> 	 Author:  Adam Leventhal
>     1.3  Date of This Document:
> 	24 January, 2008
> 4. Technical Description
> The following specification describes the NFS v3 provider for  
> DTrace. It has
> been reviewed and approved by the DTrace community; the PSARC case is
> closed approved automatic to record the interface. The stability is  
> Committed
> and the binding is Patch.
>
> ---8<---
>
> NFS v3 Provider
>
> All NFS operation probes have the first argument in common:
>
> 	args[0]		conninfo_t *		socket connection information
>
> The conninfo_t structure is already used by the iSCSI target  
> provider (iscsi)
> and the NFS v4 provider (nfsv4), and is intended for use by all  
> providers
> related to a higher level protocol (e.g. iscsi, nfs, http, ftp).
>
> 	typedef struct conninfo {
> 		string ci_local;        /* local host address */
> 		string ci_remote;       /* remote host address */
> 		string ci_protocol;     /* protocol (ipv4, ipv6, etc) */
> 	} conninfo_t;
>
>
> Operation probes have their second argument in common:
>
> 	args[1]		nfsv3opinfo_t *		NFS v3 operation properties
>
> 	typedef struct nfsv3opinfo {
> 		string noi_curpath;	/* current file handle path (if any) */
> 		cred_t *noi_cred;	/* credentials */
> 		uint64_t noi_xid;	/* transaction ID */
> 	} nfsv4opinfo_t;
>
> Below is a list of the probes along with the specific argument for  
> each
> whose type is defined by the NFS v3 specification:
>
> 	probe name				args[2]
> 	----------				-------
> 	nfsv3:::op-access-start			ACCESS3args *
> 	nfsv3:::op-access-done			ACCESS3res *
> 	nfsv3:::op-commit-start			COMMIT3args *
> 	nfsv3:::op-commit-done			COMMIT3res *
> 	nfsv3:::op-create-start			CREATE3args *
> 	nfsv3:::op-create-done			CREATE3res *
> 	nfsv3:::op-fsinfo-start			FSINFO3args *
> 	nfsv3:::op-fsinfo-done			FSINFO3res *
> 	nfsv3:::op-fsstat-start			FSSTAT3args *
> 	nfsv3:::op-fsstat-done			FSSTAT3res *
> 	nfsv3:::op-getattr-start		GETATTR3args *
> 	nfsv3:::op-getattr-done			GETATTR3res *
> 	nfsv3:::op-lookup-start			LOOKUP3args *
> 	nfsv3:::op-lookup-done			LOOKUP3res *
> 	nfsv3:::op-link-start			LINK3args *
> 	nfsv3:::op-link-done			LINK3res *
> 	nfsv3:::op-mkdir-start			MKDIR3args *
> 	nfsv3:::op-mkdir-done			MKDIR3res *
> 	nfsv3:::op-mknod-start			MKNOD3args *
> 	nfsv3:::op-mknod-done			MKNOD3res *
> 	nfsv3:::op-null-start			-
> 	nfsv3:::op-null-done			-
> 	nfsv3:::op-pathconf-start		PATHCONF3args *
> 	nfsv3:::op-pathconf-done		PATHCONF3res *
> 	nfsv3:::op-read-start			READ3args *
> 	nfsv3:::op-read-done			READ3res *
> 	nfsv3:::op-readdir-start		READDIR3args *
> 	nfsv3:::op-readdir-done			READDIR3res *
> 	nfsv3:::op-readdirplus-start		READDIRPLUS3args *
> 	nfsv3:::op-readdirplus-done		READDIRPLUS3res *
> 	nfsv3:::op-readlink-start		READLINK3args *
> 	nfsv3:::op-readlink-done		READLINK3res *
> 	nfsv3:::op-remove-start			REMOVE3args *
> 	nfsv3:::op-remove-done			REMOVE3res *
> 	nfsv3:::op-renamestart			RENAME3args *

Seems to be a typo in the above.

Spencer

> 	nfsv3:::op-rename-done			RENAME3res *
> 	nfsv3:::op-rmdir-start			RMDIR3args *
> 	nfsv3:::op-rmdir-done			RMDIR3res *
> 	nfsv3:::op-setattr-start		SETATTR3args *
> 	nfsv3:::op-setattr-done			SETATTR3res *
> 	nfsv3:::op-symlink-start		SYMLINK3args *
> 	nfsv3:::op-symlink-done			SYMLINK3res *
> 	nfsv3:::op-write-start			WRITE3args *
> 	nfsv3:::op-write-done			WRITE3res *
>
> Note that op-null-* probes have an undefined args[2].
>
> Documentation and examples can be found here:
>
>   http://wikis.sun.com/display/DTrace/nfsv3+Provider
>
> The table below describes the DTrace stability levels
>
>                  |  Name            Data            Class
>     -------------+-------------------------------------------
>     Provider     |  Evolving        Evolving        ISA
>     Module       |  Private         Private         Unknown
>     Function     |  Private         Private         Unknown
>     Name         |  Evolving        Evolving        ISA
>     Arguments    |  Evolving        Evolving        ISA
>
> 6. Resources and Schedule
>     6.4. Steering Committee requested information
>    	6.4.1. Consolidation C-team Name:
> 		OS/Net
>     6.5. ARC review type: FastTrack
>     6.6. ARC Exposure: open
>


From ahl@zion.sfbay.sun.com Fri Jan 25 07:36:11 2008
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m0PFaB8X012048
	for <psarc-ext@sac.sfbay.sun.com>; Fri, 25 Jan 2008 07:36:11 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m0PFa3aj009744;
	Fri, 25 Jan 2008 07:36:10 -0800 (PST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JV700J1NI09YO00@brm-avmta-1.central.sun.com>; Fri,
 25 Jan 2008 08:36:09 -0700 (MST)
Received: from zion.sfbay.sun.com ([129.146.17.75])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JV700GJOI07QP70@brm-avmta-1.central.sun.com>; Fri,
 25 Jan 2008 08:36:07 -0700 (MST)
Received: from zion.sfbay.sun.com (localhost [127.0.0.1])
 by zion.sfbay.sun.com (8.14.2+Sun/8.14.2) with ESMTP id m0PFa7aW268693; Fri,
 25 Jan 2008 15:36:07 +0000 (GMT)
Received: (from ahl@localhost)	by zion.sfbay.sun.com (8.14.2+Sun/8.14.2/Submit)
 id m0PFa63W268692; Fri, 25 Jan 2008 07:36:06 -0800 (PST)
Date: Fri, 25 Jan 2008 07:36:06 -0800
From: Adam Leventhal <ahl@eng.sun.com>
Subject: Re: DTrace NFS v3 Provider [PSARC/2008/050 FastTrack timeout
 01/24/2008]
In-reply-to: <BB1D9E51-6A1E-48A9-8E8D-CE2D79573173@sun.com>
 <47995D99.3010101@Sun.Com>
To: John Plocher <John.Plocher@sun.com>,
        Spencer Shepler <Spencer.Shepler@sun.com>
Cc: PSARC-ext@sun.com, lisa.weeks@sun.com, sam.falkner@sun.com,
        adam.leventhal@sun.com
Message-id: <20080125153606.GB268284@eng.sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
X-PMX-Version: 5.2.0.264296
References: <200801250210.m0P2Alob464742@zday.sfbay.sun.com>
 <BB1D9E51-6A1E-48A9-8E8D-CE2D79573173@sun.com>
 <200801250210.m0P2Alob464742@zday.sfbay.sun.com> <47995D99.3010101@Sun.Com>
User-Agent: Mutt/1.5.10i
Status: RO
Content-Length: 540

On Thu, Jan 24, 2008 at 07:55:05PM -0800, John Plocher wrote:
> >	typedef struct nfsv3opinfo {
> >...
> >	} nfsv4opinfo_t;
> 
> Is this a typo?  i.e., the _t is a nfsv*4*, but the struct is a v*3*:

Yes; of course that should be nfsv3opinfo_t (there was obviosly a bit of
copying and pasting between the v4 and v3 providers).

> >	nfsv3:::op-renamestart			RENAME3args *
> 
> Seems to be a typo in the above.

Yes, this should be op-rename-start.

Thanks.

Adam

-- 
Adam Leventhal, Fishworks                        http://blogs.sun.com/ahl

