Print this page
Build provider 3rd arg from smb_request_t
hacking...
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
*** 113,135 ****
*op->sd = sd;
} else {
op->sd = NULL;
}
! DTRACE_SMB_2(op__NtTransactCreate__start, smb_request_t *, sr,
! struct open_param *, op);
return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR);
}
void
smb_post_nt_transact_create(smb_request_t *sr, smb_xa_t *xa)
{
smb_sd_t *sd = sr->arg.open.sd;
! DTRACE_SMB_2(op__NtTransactCreate__done, smb_request_t *, sr,
! smb_xa_t *, xa);
if (sd) {
smb_sd_term(sd);
kmem_free(sd, sizeof (smb_sd_t));
}
--- 113,134 ----
*op->sd = sd;
} else {
op->sd = NULL;
}
! DTRACE_SMB_1(op__NtTransactCreate__start, smb_request_t *, sr); /* arg.open */
return ((rc == 0) ? SDRC_SUCCESS : SDRC_ERROR);
}
void
smb_post_nt_transact_create(smb_request_t *sr, smb_xa_t *xa)
{
smb_sd_t *sd = sr->arg.open.sd;
+ _NOTE(ARGUNUSED(xa))
! DTRACE_SMB_1(op__NtTransactCreate__done, smb_request_t *, sr);
if (sd) {
smb_sd_term(sd);
kmem_free(sd, sizeof (smb_sd_t));
}