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. */
{