1*da6c28aaSamw #!/usr/sbin/dtrace -qs 2*da6c28aaSamw /* 3*da6c28aaSamw * CDDL HEADER START 4*da6c28aaSamw * 5*da6c28aaSamw * The contents of this file are subject to the terms of the 6*da6c28aaSamw * Common Development and Distribution License (the "License"). 7*da6c28aaSamw * You may not use this file except in compliance with the License. 8*da6c28aaSamw * 9*da6c28aaSamw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*da6c28aaSamw * or http://www.opensolaris.org/os/licensing. 11*da6c28aaSamw * See the License for the specific language governing permissions 12*da6c28aaSamw * and limitations under the License. 13*da6c28aaSamw * 14*da6c28aaSamw * When distributing Covered Code, include this CDDL HEADER in each 15*da6c28aaSamw * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*da6c28aaSamw * If applicable, add the following below this CDDL HEADER, with the 17*da6c28aaSamw * fields enclosed by brackets "[]" replaced with your own identifying 18*da6c28aaSamw * information: Portions Copyright [yyyy] [name of copyright owner] 19*da6c28aaSamw * 20*da6c28aaSamw * CDDL HEADER END 21*da6c28aaSamw */ 22*da6c28aaSamw /* 23*da6c28aaSamw * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 24*da6c28aaSamw * Use is subject to license terms. 25*da6c28aaSamw */ 26*da6c28aaSamw 27*da6c28aaSamw #pragma ident "%Z%%M% %I% %E% SMI" 28*da6c28aaSamw 29*da6c28aaSamw BEGIN 30*da6c28aaSamw { 31*da6c28aaSamw printf("\n-->SMB Server VFS Trace Started"); 32*da6c28aaSamw printf("\n\n"); 33*da6c28aaSamw } 34*da6c28aaSamw 35*da6c28aaSamw END 36*da6c28aaSamw { 37*da6c28aaSamw printf("\n<--SMB Server VFS Trace Ended"); 38*da6c28aaSamw printf("\n\n"); 39*da6c28aaSamw } 40*da6c28aaSamw 41*da6c28aaSamw sdt:smbsrv:smb_vfs_hold:smb_vfs_hold_hit 42*da6c28aaSamw { 43*da6c28aaSamw printf("\nSMB VFS lookup hit"); 44*da6c28aaSamw printf("\n Path: %s", (string)((smb_vfs_t *)arg0)->sv_rootvp->v_path); 45*da6c28aaSamw printf("\n RefCount: %d", ((smb_vfs_t *)arg0)->sv_refcnt); 46*da6c28aaSamw } 47*da6c28aaSamw 48*da6c28aaSamw sdt:smbsrv:smb_vfs_hold:smb_vfs_hold_miss 49*da6c28aaSamw { 50*da6c28aaSamw printf("\nSMB VFS lookup miss"); 51*da6c28aaSamw printf("\n Path: %s", (string)((smb_vfs_t *)arg0)->sv_rootvp->v_path); 52*da6c28aaSamw printf("\n RefCount: %d", ((smb_vfs_t *)arg0)->sv_refcnt); 53*da6c28aaSamw } 54*da6c28aaSamw 55*da6c28aaSamw sdt:smbsrv:smb_vfs_rele:smb_vfs_release 56*da6c28aaSamw /(smb_vfs_t *)arg0 != 0/ 57*da6c28aaSamw { 58*da6c28aaSamw printf("\nSMB VFS release hit"); 59*da6c28aaSamw printf("\n Path: %s", (string)((smb_vfs_t *)arg0)->sv_rootvp->v_path); 60*da6c28aaSamw printf("\n RefCount: %d", ((smb_vfs_t *)arg0)->sv_refcnt - 2); 61*da6c28aaSamw } 62*da6c28aaSamw 63*da6c28aaSamw sdt:smbsrv:smb_vfs_rele:smb_vfs_release 64*da6c28aaSamw /(smb_vfs_t *)arg0 == 0/ 65*da6c28aaSamw { 66*da6c28aaSamw printf("\nSMB VFS release miss"); 67*da6c28aaSamw printf("\n Path: %s", (string)((vnode_t *)arg1)->v_path); 68*da6c28aaSamw } 69*da6c28aaSamw 70*da6c28aaSamw sdt:smbsrv:smb_vfs_rele_all:smb_vfs_rele_all_hit 71*da6c28aaSamw { 72*da6c28aaSamw printf("\nSMB VFS free"); 73*da6c28aaSamw printf("\n Path: %s", (string)((smb_vfs_t *)arg0)->sv_rootvp->v_path); 74*da6c28aaSamw printf("\n RefCount: %d", ((smb_vfs_t *)arg0)->sv_refcnt); 75*da6c28aaSamw } 76*da6c28aaSamw 77*da6c28aaSamw 78