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]