From f9e4b91f926a1cb7689f8da8e9d07bc4dd727bb8 Mon Sep 17 00:00:00 2001 From: Richard Lowe Date: Sat, 5 Nov 2011 02:01:31 +0000 Subject: 1731 DTrace NFS translators should be split into client/server pieces Reviewed by: Garrett D'Amore Reviewed by: Gordon Ross Reviewed by: Dan McDonald Reviewed by: Brendan Gregg Approved by: Eric Schrock --- usr/src/lib/libdtrace/common/nfs.d | 20 +-------------- usr/src/lib/libdtrace/common/nfssrv.d | 48 +++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 19 deletions(-) create mode 100644 usr/src/lib/libdtrace/common/nfssrv.d (limited to 'usr/src/lib/libdtrace/common') diff --git a/usr/src/lib/libdtrace/common/nfs.d b/usr/src/lib/libdtrace/common/nfs.d index c1552fdcd4..d14c706aca 100644 --- a/usr/src/lib/libdtrace/common/nfs.d +++ b/usr/src/lib/libdtrace/common/nfs.d @@ -26,7 +26,7 @@ #pragma D depends_on library ip.d #pragma D depends_on library net.d -#pragma D depends_on module genunix +#pragma D depends_on module nfs inline int T_RDMA = 4; #pragma D binding "1.5" T_RDMA @@ -103,24 +103,6 @@ translator nfsv4opinfo_t < struct compound_state *P > { noi_curpath = (P->vp == NULL) ? "" : P->vp->v_path; }; -#pragma D binding "1.5" translator -translator conninfo_t < rfs4_client_t *P > { - ci_protocol = (P->rc_addr.ss_family == AF_INET) ? "ipv4" : "ipv6"; - - ci_local = ""; - - ci_remote = (P->rc_addr.ss_family == AF_INET) ? - inet_ntoa((ipaddr_t *) - &((struct sockaddr_in *)&P->rc_addr)->sin_addr) : - inet_ntoa6(&((struct sockaddr_in6 *)&P->rc_addr)->sin6_addr); -}; - -#pragma D binding "1.5" translator -translator nfsv4cbinfo_t < rfs4_deleg_state_t *P > { - nci_curpath = (P->rds_finfo->rf_vp == NULL) ? "" : - P->rds_finfo->rf_vp->v_path; -}; - typedef struct nfsv3opinfo { uint64_t noi_xid; /* unique transation ID */ cred_t *noi_cred; /* credentials for operation */ diff --git a/usr/src/lib/libdtrace/common/nfssrv.d b/usr/src/lib/libdtrace/common/nfssrv.d new file mode 100644 index 0000000000..12d794791f --- /dev/null +++ b/usr/src/lib/libdtrace/common/nfssrv.d @@ -0,0 +1,48 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#pragma D depends_on library ip.d +#pragma D depends_on library net.d +#pragma D depends_on library nfs.d +#pragma D depends_on module nfssrv + +#pragma D binding "1.5" translator +translator conninfo_t < rfs4_client_t *P > { + ci_protocol = (P->rc_addr.ss_family == AF_INET) ? "ipv4" : "ipv6"; + + ci_local = ""; + + ci_remote = (P->rc_addr.ss_family == AF_INET) ? + inet_ntoa((ipaddr_t *) + &((struct sockaddr_in *)&P->rc_addr)->sin_addr) : + inet_ntoa6(&((struct sockaddr_in6 *)&P->rc_addr)->sin6_addr); +}; + +#pragma D binding "1.5" translator +translator nfsv4cbinfo_t < rfs4_deleg_state_t *P > { + nci_curpath = (P->rds_finfo->rf_vp == NULL) ? "" : + P->rds_finfo->rf_vp->v_path; +}; -- cgit v1.2.3