In order to reuse code inside trace-cmd application context, few functions are made non static and "trace_" is prepended to their names: int trace_make_vsock(unsigned int port); int trace_get_vsock_port(int sd, unsigned int *port); int trace_open_vsock(unsigned int cid, unsigned int port); char *trace_get_guest_file(const char *file, const char *guest); Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx> --- tracecmd/include/trace-local.h | 6 ++++++ tracecmd/trace-agent.c | 10 +++++----- tracecmd/trace-record.c | 18 +++++++++--------- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/tracecmd/include/trace-local.h b/tracecmd/include/trace-local.h index dc934f28..95d0026b 100644 --- a/tracecmd/include/trace-local.h +++ b/tracecmd/include/trace-local.h @@ -263,6 +263,12 @@ void tracecmd_disable_tracing(void); void tracecmd_enable_tracing(void); void tracecmd_stat_cpu(struct trace_seq *s, int cpu); +int trace_make_vsock(unsigned int port); +int trace_get_vsock_port(int sd, unsigned int *port); +int trace_open_vsock(unsigned int cid, unsigned int port); + +char *trace_get_guest_file(const char *file, const char *guest); + /* No longer in event-utils.h */ void __noreturn die(const char *fmt, ...); /* Can be overriden */ void *malloc_or_die(unsigned int size); /* Can be overridden */ diff --git a/tracecmd/trace-agent.c b/tracecmd/trace-agent.c index 52d27195..a8ef0852 100644 --- a/tracecmd/trace-agent.c +++ b/tracecmd/trace-agent.c @@ -40,7 +40,7 @@ static int get_local_cid(unsigned int *cid) return ret; } -static int make_vsock(unsigned int port) +int trace_make_vsock(unsigned int port) { struct sockaddr_vm addr = { .svm_family = AF_VSOCK, @@ -64,7 +64,7 @@ static int make_vsock(unsigned int port) return sd; } -static int get_vsock_port(int sd, unsigned int *port) +int trace_get_vsock_port(int sd, unsigned int *port) { struct sockaddr_vm addr; socklen_t addr_len = sizeof(addr); @@ -87,11 +87,11 @@ static void make_vsocks(int nr, int *fds, unsigned int *ports) int i, fd, ret; for (i = 0; i < nr; i++) { - fd = make_vsock(VMADDR_PORT_ANY); + fd = trace_make_vsock(VMADDR_PORT_ANY); if (fd < 0) die("Failed to open vsocket"); - ret = get_vsock_port(fd, &port); + ret = trace_get_vsock_port(fd, &port); if (ret < 0) die("Failed to get vsocket address"); @@ -210,7 +210,7 @@ static void agent_serve(unsigned int port) nr_cpus = tracecmd_count_cpus(); page_size = getpagesize(); - sd = make_vsock(port); + sd = trace_make_vsock(port); if (sd < 0) die("Failed to open vsocket"); diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c index e0b18044..174a9bdd 100644 --- a/tracecmd/trace-record.c +++ b/tracecmd/trace-record.c @@ -537,7 +537,7 @@ static char *get_temp_file(struct buffer_instance *instance, int cpu) return file; } -static char *get_guest_file(const char *file, const char *guest) +char *trace_get_guest_file(const char *file, const char *guest) { const char *p; char *out = NULL; @@ -2930,7 +2930,7 @@ static int connect_port(const char *host, unsigned int port) } #ifdef VSOCK -static int open_vsock(unsigned int cid, unsigned int port) +int trace_open_vsock(unsigned int cid, unsigned int port) { struct sockaddr_vm addr = { .svm_family = AF_VSOCK, @@ -2993,7 +2993,7 @@ static bool can_splice_read_vsock(void) } #else -static inline int open_vsock(unsigned int cid, unsigned int port) +int trace_open_vsock(unsigned int cid, unsigned int port) { die("vsock is not supported"); return -1; @@ -3304,7 +3304,7 @@ create_recorder_instance(struct buffer_instance *instance, const char *file, int if (instance->use_fifos) fd = instance->fds[cpu]; else - fd = open_vsock(instance->cid, instance->client_ports[cpu]); + fd = trace_open_vsock(instance->cid, instance->client_ports[cpu]); if (fd < 0) die("Failed to connect to agent"); @@ -3696,7 +3696,7 @@ static void connect_to_agent(struct buffer_instance *instance) use_fifos = nr_fifos > 0; } - sd = open_vsock(instance->cid, instance->port); + sd = trace_open_vsock(instance->cid, instance->port); if (sd < 0) die("Failed to connect to vsocket @%u:%u", instance->cid, instance->port); @@ -3747,8 +3747,8 @@ static void setup_guest(struct buffer_instance *instance) int fd; /* Create a place to store the guest meta data */ - file = get_guest_file(output_file, - tracefs_instance_get_name(instance->tracefs)); + file = trace_get_guest_file(output_file, + tracefs_instance_get_name(instance->tracefs)); if (!file) die("Failed to allocate memory"); @@ -4084,8 +4084,8 @@ static void write_guest_file(struct buffer_instance *instance) char **temp_files; int i, fd; - file = get_guest_file(output_file, - tracefs_instance_get_name(instance->tracefs)); + file = trace_get_guest_file(output_file, + tracefs_instance_get_name(instance->tracefs)); if (!file) die("Failed to allocate memory"); -- 2.24.1