From: Steven Rostedt <rostedt@goodmis.org> To: "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com> Cc: linux-trace-devel@vger.kernel.org Subject: Re: [PATCH v17 08/18] trace-cmd: Implement new API tracecmd_add_option_v() Date: Wed, 4 Dec 2019 16:47:24 -0500 Message-ID: <20191204164724.3b1d7662@gandalf.local.home> (raw) In-Reply-To: <20191203103522.482684-9-tz.stoyanov@gmail.com> On Tue, 3 Dec 2019 12:35:12 +0200 "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com> wrote: > @@ -1046,6 +1083,57 @@ int tracecmd_write_options(struct tracecmd_output *handle) > return 0; > } > > +int tracecmd_append_options(struct tracecmd_output *handle) > +{ > + struct tracecmd_option *options; > + unsigned short option; > + unsigned short endian2; > + unsigned int endian4; > + off_t offset; > + int r; > + > + /* If already written, ignore */ > + if (handle->options_written) > + return 0; > + > + if (lseek64(handle->fd, 0, SEEK_END) == (off_t)-1) > + return -1; > + offset = lseek64(handle->fd, -2, SEEK_CUR); > + if (offset == (off_t)-1) > + return -1; > + > + r = pread(handle->fd, &option, 2, offset); > + if (r != 2 || option != TRACECMD_OPTION_DONE) > + return -1; > + > + list_for_each_entry(options, &handle->options, list) { > + endian2 = convert_endian_2(handle, options->id); > + if (do_write_check(handle, &endian2, 2)) > + return -1; > + > + endian4 = convert_endian_4(handle, options->size); > + if (do_write_check(handle, &endian4, 4)) > + return -1; > + > + /* Save the data location in case it needs to be updated */ > + options->offset = lseek64(handle->fd, 0, SEEK_CUR); > + > + if (do_write_check(handle, options->data, > + options->size)) > + return -1; > + } > + > + option = TRACECMD_OPTION_DONE; > + > + if (do_write_check(handle, &option, 2)) > + return -1; > + > + handle->options_written = 1; > + handle->options_written = 1; I think I'm seeing double. -- Steve > + > + return 0; > +} > + > int tracecmd_update_option(struct tracecmd_output *handle, > struct tracecmd_option *option, int size, > const void *data)
next prev parent reply index Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-03 10:35 [PATCH v17 00/18]Timestamp synchronization of host - guest tracing session Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 01/18] trace-cmd: Implement new lib API: tracecmd_local_events_system() Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 02/18] trace-cmd: Add support for negative time offsets in trace.dat file Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 03/18] trace-cmd: Add implementations of htonll() and ntohll() Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 04/18] trace-cmd: Add new library APIs for ftrace instances Tzvetomir Stoyanov (VMware) 2019-12-04 16:17 ` Steven Rostedt 2019-12-05 14:40 ` Tzvetomir Stoyanov 2019-12-03 10:35 ` [PATCH v17 05/18] trace-cmd: Add new library API for local CPU count Tzvetomir Stoyanov (VMware) 2019-12-04 20:09 ` Steven Rostedt 2019-12-03 10:35 ` [PATCH v17 06/18] trace-cmd: Add new library API for reading ftrace buffers Tzvetomir Stoyanov (VMware) 2019-12-04 21:10 ` Steven Rostedt 2019-12-03 10:35 ` [PATCH v17 07/18] trace-cmd: Find and store pids of tasks, which run virtual CPUs of given VM Tzvetomir Stoyanov (VMware) 2019-12-04 21:35 ` Steven Rostedt 2019-12-03 10:35 ` [PATCH v17 08/18] trace-cmd: Implement new API tracecmd_add_option_v() Tzvetomir Stoyanov (VMware) 2019-12-04 21:47 ` Steven Rostedt [this message] 2019-12-03 10:35 ` [PATCH v17 09/18] trace-cmd: Add new API to generate a unique ID of the tracing session Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 10/18] trace-cmd: Store the session tracing ID in the trace.dat file Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 11/18] trace-cmd: Exchange tracing IDs between host and guest Tzvetomir Stoyanov (VMware) 2019-12-04 22:03 ` Steven Rostedt 2019-12-03 10:35 ` [PATCH v17 12/18] trace-cmd: Implement new option in trace.dat file: TRACECMD_OPTION_TIME_SHIFT Tzvetomir Stoyanov (VMware) 2019-12-05 0:46 ` Steven Rostedt 2019-12-05 15:09 ` Tzvetomir Stoyanov 2019-12-03 10:35 ` [PATCH v17 13/18] trace-cmd: Add guest information in host's trace.dat file Tzvetomir Stoyanov (VMware) 2019-12-05 0:59 ` Steven Rostedt 2019-12-03 10:35 ` [PATCH v17 14/18] trace-cmd: Add host trace clock as guest trace argument Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 15/18] trace-cmd: Refactor few trace-cmd internal functions Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 16/18] trace-cmd: Basic infrastructure for host - guest timestamp synchronization Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 17/18] trace-cmd: [POC] PTP-like algorithm " Tzvetomir Stoyanov (VMware) 2019-12-03 10:35 ` [PATCH v17 18/18] trace-cmd: Debug scripts for " Tzvetomir Stoyanov (VMware)
Reply instructions: You may reply publically to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191204164724.3b1d7662@gandalf.local.home \ --to=rostedt@goodmis.org \ --cc=linux-trace-devel@vger.kernel.org \ --cc=tz.stoyanov@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-Trace-Devel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-trace-devel/0 linux-trace-devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-trace-devel linux-trace-devel/ https://lore.kernel.org/linux-trace-devel \ linux-trace-devel@vger.kernel.org public-inbox-index linux-trace-devel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-trace-devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git