1 #!/usr/sbin/dtrace -s 2 /* 3 * This file and its contents are supplied under the terms of the 4 * Common Development and Distribution License ("CDDL"), version 1.0. 5 * You may only use this file in accordance with the terms of version 6 * 1.0 of the CDDL. 7 * 8 * A full copy of the text of the CDDL should have accompanied this 9 * source. A copy of the CDDL is also available via the Internet at 10 * http://www.illumos.org/license/CDDL. 11 */ 12 13 /* 14 * Copyright 2013 Nexenta Systems, Inc. All rights reserved. 15 */ 16 17 /* 18 * User-level dtrace for smbd 19 * Usage: dtrace -s ThisScript.d -p PID 20 */ 21 22 #pragma D option flowindent 23 24 pid$target:fksmbd:pipesvc_worker:entry 25 { 26 self->trace++; 27 } 28 pid$target:fksmbd:pipesvc_worker:return 29 { 30 self->trace--; 31 } 32 33 pid$target:fksmbd::entry, 34 pid$target:libfksmbsrv.so.1::entry, 35 pid$target:libmlsvc.so.1::entry, 36 pid$target:libmlrpc.so.1::entry, 37 pid$target:libsmbns.so.1::entry, 38 pid$target:libsmb.so.1::entry 39 /self->trace/ 40 { 41 printf("\t0x%x", arg0); 42 printf("\t0x%x", arg1); 43 printf("\t0x%x", arg2); 44 printf("\t0x%x", arg3); 45 } 46 47 pid$target:fksmbd::return, 48 pid$target:libfksmbsrv.so.1::return, 49 pid$target:libmlsvc.so.1::return, 50 pid$target:libmlrpc.so.1::return, 51 pid$target:libsmbns.so.1::return, 52 pid$target:libsmb.so.1::return 53 /self->trace/ 54 { 55 printf("\t0x%x", arg1); 56 } 57 58 pid$target:libmlrpc.so.1:ndo_trace:entry 59 /self->trace/ 60 { 61 printf("ndo_trace: %s", copyinstr(arg0)); 62 } 63