Print this page
NEX-16712 NFS dtrace providers do not support per-share filtering
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Yuri Pankon <yuri.pankov@nexenta.com>
NEX-15555 SMB2 async redesign
NEX-15061 smtorture smb2.lock.cancel.cancel is failed
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Also follow-up change to:
 NEX-1643 dtrace provider for smbsrv (remove "done2" probes,
 which don't make sense with the new async design)
NEX-15555 SMB2 async redesign
NEX-15061 smtorture smb2.lock.cancel.cancel is failed
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Also follow-up change to:
 NEX-1643 dtrace provider for smbsrv (remove "done2" probes,
 which don't make sense with the new async design)
NEX-1643 dtrace provider for smbsrv
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>

@@ -19,10 +19,11 @@
  * CDDL HEADER END
  */
 /*
  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
  */
 
 #ifndef _SYS_SDT_H
 #define _SYS_SDT_H
 

@@ -228,29 +229,44 @@
 
 #define DTRACE_NFSV3_3(name, type1, arg1, type2, arg2,                  \
     type3, arg3)                                                        \
         DTRACE_PROBE3(__nfsv3_##name, type1, arg1, type2, arg2,         \
             type3, arg3);
+
 #define DTRACE_NFSV3_4(name, type1, arg1, type2, arg2,                  \
     type3, arg3, type4, arg4)                                           \
         DTRACE_PROBE4(__nfsv3_##name, type1, arg1, type2, arg2,         \
             type3, arg3, type4, arg4);
 
+#define DTRACE_NFSV3_5(name, type1, arg1, type2, arg2,                  \
+    type3, arg3, type4, arg4, type5, arg5)                              \
+        DTRACE_PROBE5(__nfsv3_##name, type1, arg1, type2, arg2,         \
+            type3, arg3, type4, arg4, type5, arg5);
+
 #define DTRACE_NFSV4_1(name, type1, arg1) \
         DTRACE_PROBE1(__nfsv4_##name, type1, arg1);
 
 #define DTRACE_NFSV4_2(name, type1, arg1, type2, arg2) \
         DTRACE_PROBE2(__nfsv4_##name, type1, arg1, type2, arg2);
 
 #define DTRACE_NFSV4_3(name, type1, arg1, type2, arg2, type3, arg3) \
         DTRACE_PROBE3(__nfsv4_##name, type1, arg1, type2, arg2, type3, arg3);
 
-#define DTRACE_SMB_1(name, type1, arg1) \
-        DTRACE_PROBE1(__smb_##name, type1, arg1);
+/*
+ * The SMB probes are done a little differently from the other probes
+ * in this file for the benefit of the libfksmbsrv USDT provider.
+ * See: lib/smbsrv/libfksmbsrv/common/sys/sdt.h
+ */
+#define DTRACE_SMB_START(name, type1, arg1) \
+        DTRACE_PROBE1(__smb_##name##__start, type1, arg1);
+#define DTRACE_SMB_DONE(name, type1, arg1) \
+        DTRACE_PROBE1(__smb_##name##__done, type1, arg1);
 
-#define DTRACE_SMB_2(name, type1, arg1, type2, arg2) \
-        DTRACE_PROBE2(__smb_##name, type1, arg1, type2, arg2);
+#define DTRACE_SMB2_START(name, type1, arg1) \
+        DTRACE_PROBE1(__smb2_##name##__start, type1, arg1);
+#define DTRACE_SMB2_DONE(name, type1, arg1) \
+        DTRACE_PROBE1(__smb2_##name##__done, type1, arg1);
 
 #define DTRACE_IP(name)                                         \
         DTRACE_PROBE(__ip_##name);
 
 #define DTRACE_IP1(name, type1, arg1)                                   \