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,206 **** { "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 */ { "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 */ { "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 */ --- 193,208 ---- { "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(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(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,843 **** } 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); smbsr_cleanup(sr); } /* Record latency and rx/tx bytes per: server, session, share. */ { --- 833,844 ---- } sr->sr_time_start = gethrtime(); if ((sdrc = (*sdd->sdt_pre_op)(sr)) == SDRC_SUCCESS) sdrc = (*sdd->sdt_function)(sr); (*sdd->sdt_post_op)(sr); + if (sdrc != SDRC_SR_KEPT) { smbsr_cleanup(sr); } /* Record latency and rx/tx bytes per: server, session, share. */ {