Note that the READDIR operation is missing from the list below.

Given that these protocol mechanisms will exist at client and
server, it would be helpful to have a naming mechanism that
differentiated this fact.  I also assume that when NFSv4.1
is introduced that the provider will be expanded to something
like:

        nfsv41:::op-access-start                ACCESS4args *
        ...

Spencer

On Nov 15, 2007, at 3:14 AM, Adam Leventhal wrote:

> Below is a proposal I've developed along with Sam Falkner and Lisa  
> Week for
> a new DTrace provider for NFS v4.  If you have comments, please  
> voice them
> by November 20 -- we hope to file the PSARC case shortly after that.
>
> Thanks.
>
> Adam
>
> ---8<---
>
> NFS v4 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 is intended for use by all provider which are providing some  
> 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 comment:
>
>       args[1]         nfsv4opinfo_t *         NFS v4 operation properties
>
>       typedef struct nfsv4opinfo {
>               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 top level operation probes along with the  
> specific
> argument for each whose type is defined by the NFS v4 specification:
>
>       probe name                              args[2]
>       ----------                              -------
>       nfsv4:::compound-op-start               COMPOUND4args *
>       nfsv4:::compound-op-done                COMPOUND4res *
>
> Below is a list of operation probes along with the specific argument
> for each whose type is defined by the NFS v4 specification:
>
>       probe name                              args[2]
>       ----------                              -------
>       nfsv4:::op-access-start                 ACCESS4args *
>       nfsv4:::op-access-done                  ACCESS4res *
>       nfsv4:::op-close-start                  CLOSE4args *
>       nfsv4:::op-close-done                   CLOSE4res *
>       nfsv4:::op-commit-start                 COMMIT4args *
>       nfsv4:::op-commit-done                  COMMIT4res *
>       nfsv4:::op-create-start                 CREATE4args *
>       nfsv4:::op-create-done                  CREATE4res *
>       nfsv4:::op-delegpurge-start             DELEGPURGE4args *
>       nfsv4:::op-delegpurge-done              DELEGPURGE4res *
>       nfsv4:::op-delegreturn-start            DELEGRETURN4args *
>       nfsv4:::op-delegreturn-done             DELEGRETURN4res *
>       nfsv4:::op-getattr-start                GETATTR4args *
>       nfsv4:::op-getattr-done                 GETATTR4res *
>       nfsv4:::op-getfh-start                  GETFH4args *
>       nfsv4:::op-getfh-done                   GETFH4res *
>       nfsv4:::op-link-start                   LINK4args *
>       nfsv4:::op-link-done                    LINK4res *
>       nfsv4:::op-lock-start                   LOCK4args *
>       nfsv4:::op-lock-done                    LOCK4res *
>       nfsv4:::op-lockt-start                  LOCKT4args *
>       nfsv4:::op-lockt-done                   LOCKT4res *
>       nfsv4:::op-locku-start                  LOCKU4args *
>       nfsv4:::op-locku-done                   LOCKU4res *
>       nfsv4:::op-lookup-start                 LOOKUP4args *
>       nfsv4:::op-lookup-done                  LOOKUP4res *
>       nfsv4:::op-lookupp-start                LOOKUPP4args *
>       nfsv4:::op-lookupp-done                 LOOKUPP4res *
>       nfsv4:::op-nverify-start                NVERIFY4args *
>       nfsv4:::op-nverify-done                 NVERIFY4res *
>       nfsv4:::op-open-start                   OPEN4args *
>       nfsv4:::op-open-done                    OPEN4res *
>       nfsv4:::op-open-confirm-start           OPEN_CONFIRM4args *
>       nfsv4:::op-open-confirm-done            OPEN_CONFIRM4res *
>       nfsv4:::op-open-downgrade-start         OPEN_DOWNGRADE4args *
>       nfsv4:::op-open-downgrade-done          OPEN_DOWNGRADE4res *
>       nfsv4:::op-openattr-start               OPENATTR4args *
>       nfsv4:::op-openattr-done                OPENATTR4res *
>       nfsv4:::op-putfh-start                  PUTFH4args *
>       nfsv4:::op-putfh-done                   PUTFH4res *
>       nfsv4:::op-putpubfh-start               PUTPUBFH4args *
>       nfsv4:::op-putpubfh-done                PUTPUBFH4res *
>       nfsv4:::op-putrootfh-start              PUTROOTFH4args *
>       nfsv4:::op-putrootfh-done               PUTROOTFH4res *
>       nfsv4:::op-read-start                   READ4args *
>       nfsv4:::op-read-done                    READ4res *
>       nfsv4:::op-readlink-start               READLINK4args *
>       nfsv4:::op-readlink-done                READLINK4res *
>       nfsv4:::op-release-lockowner-start      RELEASE_LOCKOWNER4args *
>       nfsv4:::op-release-lockowner-done       RELEASE_LOCKOWNER4res *
>       nfsv4:::op-remove-start                 REMOVE4args *
>       nfsv4:::op-remove-done                  REMOVE4res *
>       nfsv4:::op-rename-start                 RENAME4args *
>       nfsv4:::op-rename-done                  RENAME4res *
>       nfsv4:::op-renew-start                  RENEW4args *
>       nfsv4:::op-renew-done                   RENEW4res *
>       nfsv4:::op-restorefh-start              <none>
>       nfsv4:::op-restorefh-done               <none>
>       nfsv4:::op-savefh-start                 SAVEFH4args *
>       nfsv4:::op-savefh-done                  SAVEFH4res *
>       nfsv4:::op-secinfo-start                SECINFO4args *
>       nfsv4:::op-secinfo-done                 SECINFO4res *
>       nfsv4:::op-setattr-start                SETATTR4args *
>       nfsv4:::op-setattr-done                 SETATTR4res *
>       nfsv4:::op-setclientid-start            SETCLIENTID4args *
>       nfsv4:::op-setclientid-done             SETCLIENTID4res *
>       nfsv4:::op-setclientid-confirm-start    SETCLIENTID_CONFIRM4args *
>       nfsv4:::op-setclientid-confirm-done     SETCLIENTID_CONFIRM4res *
>       nfsv4:::op-verify-start                 VERIFY4args *
>       nfsv4:::op-verify-done                  VERIFY4res *
>       nfsv4:::op-write-start                  WRITE4args *
>       nfsv4:::op-write-done                   WRITE4res *
>
>
> Callback probes have an undefined second argument; this slot is  
> reserved for
> future use.
>
> Below is a list of the top level callback probes along with the  
> specific
> argument for each whose type is defined by the NFS v4 specification:
>
>       probe name                              args[2]
>       ----------                              -------
>       nfsv4:::compound-cb-start               CB_COMPOUND4args *
>       nfsv4:::compound-cb-done                CB_COMPOUND4res *
>
> Below is a list of callback probes along with the specific argument
> for each whose type is defined by the NFS v4 specification:
>
>       probe name                              args[2]
>       ----------                              -------
>       nfsv4:::cb-getattr-start                CB_GETATTR4args *
>       nfsv4:::cb-getattr-done                 CB_GETATTR4res *
>       nfsv4:::cb-recall-start                 CB_RECALL4args *
>       nfsv4:::cb-recall-done                  CB_RECALL4res *
>
>
> (Note that since the Solaris NFS v4 implementation does not yet use  
> the
> 'getattr' callback, the probe will not be implemented; it is noted  
> here in
> anticipation of a future implementation).
>
> --->8---
>
> -- 
> Adam Leventhal, FishWorks                        http:// 
> blogs.sun.com/ahl
> _______________________________________________
> dtrace-discuss mailing list
> [email protected]

_______________________________________________
dtrace-discuss mailing list
[email protected]

Reply via email to