From: "Steven Rostedt (Google)" <rostedt@xxxxxxxxxxx> Add tracecmd_msg_flush_data() that will flush the current cached data to the network and restart the cache file. Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> --- .../include/private/trace-cmd-private.h | 1 + lib/trace-cmd/trace-msg.c | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/lib/trace-cmd/include/private/trace-cmd-private.h b/lib/trace-cmd/include/private/trace-cmd-private.h index 28fa712c4de8..053866d547af 100644 --- a/lib/trace-cmd/include/private/trace-cmd-private.h +++ b/lib/trace-cmd/include/private/trace-cmd-private.h @@ -416,6 +416,7 @@ int tracecmd_msg_send_init_data(struct tracecmd_msg_handle *msg_handle, int tracecmd_msg_data_send(struct tracecmd_msg_handle *msg_handle, const char *buf, int size); int tracecmd_msg_finish_sending_data(struct tracecmd_msg_handle *msg_handle); +int tracecmd_msg_flush_data(struct tracecmd_msg_handle *msg_handle); int tracecmd_msg_send_close_msg(struct tracecmd_msg_handle *msg_handle); int tracecmd_msg_send_close_resp_msg(struct tracecmd_msg_handle *msg_handle); int tracecmd_msg_wait_close(struct tracecmd_msg_handle *msg_handle); diff --git a/lib/trace-cmd/trace-msg.c b/lib/trace-cmd/trace-msg.c index 963ef94e977b..a0c7f1818b0f 100644 --- a/lib/trace-cmd/trace-msg.c +++ b/lib/trace-cmd/trace-msg.c @@ -823,6 +823,26 @@ int tracecmd_msg_data_send(struct tracecmd_msg_handle *msg_handle, return ret; } +/** + * tracecmd_msg_flush_data - Send the current cache data over the network + * @msg_handle: message handle, holding the communication context + * + * Send the content in the cache file over the nework, reset the file + * and start the cache up again (with nothing in it). + */ +int tracecmd_msg_flush_data(struct tracecmd_msg_handle *msg_handle) +{ + struct tracecmd_msg msg; + int ret; + + flush_cache(msg_handle); + tracecmd_msg_init(MSG_FIN_DATA, &msg); + ret = tracecmd_msg_send(msg_handle, &msg); + if (ret < 0) + return ret; + return tracecmd_msg_handle_cache(msg_handle); +} + int tracecmd_msg_finish_sending_data(struct tracecmd_msg_handle *msg_handle) { struct tracecmd_msg msg; -- 2.35.1