void smb_init_perfcount_data(struct smb_perfcount_data *pcd);
-#define SMB_PERFCOUNT_START(_pcd_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_start((_pcd_)); \
- } while (0)
-
-#define SMB_PERFCOUNT_ADD(_pcd_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_add((_pcd_)); \
- } while (0)
-
-#define SMB_PERFCOUNT_SET_OP(_pcd_,_op_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_set_op((_pcd_), (_op_)); \
- } while (0)
-
-#define SMB_PERFCOUNT_SET_SUBOP(_pcd_,_subop_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_set_subop((_pcd_), (_subop_)); \
- } while (0)
-
-#define SMB_PERFCOUNT_SET_IOCTL(_pcd_,_subop_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_set_ioctl((_pcd_), (_subop_)); \
- } while (0)
-
-#define SMB_PERFCOUNT_SET_MSGLEN_IN(_pcd_,_in_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_set_msglen_in((_pcd_), (_in_));\
- } while (0)
-
-#define SMB_PERFCOUNT_SET_MSGLEN_OUT(_pcd_,_out_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_set_msglen_out((_pcd_), (_out_));\
- } while (0)
-
-#define SMB_PERFCOUNT_COPY_CONTEXT(_pcd_, _new_pcd_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_copy_context((_pcd_), (_new_pcd_)); \
- } while (0)
-
-#define SMB_PERFCOUNT_DEFER_OP(_pcd_, _def_pcd_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_defer_op((_pcd_), (_def_pcd_)); \
- } while (0)
-
-#define SMB_PERFCOUNT_END(_pcd_) \
- do {if((_pcd_) && (_pcd_)->handlers) \
- (_pcd_)->handlers->perfcount_end((_pcd_));\
- } while (0)
-
#endif /* _SMB_PERFCOUNT_H_ */
goto out;
}
- SMB_PERFCOUNT_SET_MSGLEN_OUT(pcd, len);
srv_free_enc_buffer(xconn, buf_out);
out:
- SMB_PERFCOUNT_END(pcd);
-
smbd_unlock_socket(xconn);
return (ret > 0);
}
msg->seqnum = req->seqnum;
msg->encrypted = req->encrypted;
msg->processed = false;
- SMB_PERFCOUNT_DEFER_OP(&req->pcd, &msg->pcd);
if (open_rec) {
msg->open_rec = talloc_move(msg, &open_rec);
req->inbuf = (uint8_t *)talloc_move(req, &inbuf);
/* we popped this message off the queue - keep original perf data */
- if (deferred_pcd)
+ if (deferred_pcd) {
req->pcd = *deferred_pcd;
- else {
- SMB_PERFCOUNT_START(&req->pcd);
- SMB_PERFCOUNT_SET_OP(&req->pcd, req->cmd);
- SMB_PERFCOUNT_SET_MSGLEN_IN(&req->pcd, size);
}
req->conn = switch_message(req->cmd, req);