Print this page
NEX-1643 dtrace provider for smbsrv
Also illumos 1841:
DTrace smb provider was mis-implemented, doesn't exist.
Add back handlers for read/write raw, so that
legacy dtrace consumers can find the probes.
Kill extra arg in smb_negotiate
Fix missing "done" probe with smb_notify
Add example consumer: smb-trace.d
fix soi_pid
@@ -193,14 +193,16 @@
{ "Invalid", SMB_SDT_OPS(invalid), 0x15, 0 }, /* 0x15 021 */
{ "Invalid", SMB_SDT_OPS(invalid), 0x16, 0 }, /* 0x16 022 */
{ "Invalid", SMB_SDT_OPS(invalid), 0x17, 0 }, /* 0x17 023 */
{ "Invalid", SMB_SDT_OPS(invalid), 0x18, 0 }, /* 0x18 024 */
{ "Invalid", SMB_SDT_OPS(invalid), 0x19, 0 }, /* 0x19 025 */
- { "SmbReadRaw", SMB_SDT_OPS(invalid), 0x1A, 0 }, /* 0x1A 026 */
+ { "SmbReadRaw", SMB_SDT_OPS(read_raw), /* 0x1A 026 */
+ 0x1A, LANMAN1_0 },
{ "Invalid", SMB_SDT_OPS(invalid), 0x1B, 0 }, /* 0x1B 027 */
{ "Invalid", SMB_SDT_OPS(invalid), 0x1C, 0 }, /* 0x1C 028 */
- { "SmbWriteRaw", SMB_SDT_OPS(invalid), 0x1D, 0 }, /* 0x1D 029 */
+ { "SmbWriteRaw", SMB_SDT_OPS(write_raw), /* 0x1D 029 */
+ 0x1D, LANMAN1_0 },
{ "Invalid", SMB_SDT_OPS(invalid), 0x1E, 0 }, /* 0x1E 030 */
{ "Invalid", SMB_SDT_OPS(invalid), 0x1F, 0 }, /* 0x1F 031 */
{ "Invalid", SMB_SDT_OPS(invalid), 0x20, 0 }, /* 0x20 032 */
{ "Invalid", SMB_SDT_OPS(invalid), 0x21, 0 }, /* 0x21 033 */
{ "SmbSetInformation2", SMB_SDT_OPS(set_information2), /* 0x22 034 */
@@ -831,13 +833,12 @@
}
sr->sr_time_start = gethrtime();
if ((sdrc = (*sdd->sdt_pre_op)(sr)) == SDRC_SUCCESS)
sdrc = (*sdd->sdt_function)(sr);
-
- if (sdrc != SDRC_SR_KEPT) {
(*sdd->sdt_post_op)(sr);
+ if (sdrc != SDRC_SR_KEPT) {
smbsr_cleanup(sr);
}
/* Record latency and rx/tx bytes per: server, session, share. */
{