From: Keir Fraser Date: Tue, 4 Dec 2007 10:17:32 +0000 (+0000) Subject: xentrace: Don't append trace on existing file. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14683^2~8 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=1f74affa2d43cebb224b1ef56a0a6abdbf822e65;p=xen.git xentrace: Don't append trace on existing file. When you run "xentrace -e trace.output" the first time, all is fine. When you run it a second time, then the data is appended which makes you reading old data with xentrace_format and you interprete it as new data. This usually happens when you automated tracing guests with xentrace and xentrace_format with a script. Therefore, attached patch makes xentrace to truncate the file to zero bytes before writing any data. Signed-off-by: Christoph Egger --- diff --git a/tools/xentrace/xentrace.c b/tools/xentrace/xentrace.c index d6fa93e436..26415bdb7d 100644 --- a/tools/xentrace/xentrace.c +++ b/tools/xentrace/xentrace.c @@ -572,24 +572,24 @@ int main(int argc, char **argv) parse_args(argc, argv); - if (opts.evt_mask != 0) { + if ( opts.evt_mask != 0 ) set_mask(opts.evt_mask, 0); - } - if (opts.cpu_mask != 0) { + if ( opts.cpu_mask != 0 ) set_mask(opts.cpu_mask, 1); - } if ( opts.outfile ) - outfd = open(opts.outfile, O_WRONLY | O_CREAT | O_LARGEFILE, 0644); + outfd = open(opts.outfile, + O_WRONLY | O_CREAT | O_TRUNC | O_LARGEFILE, + 0644); - if(outfd < 0) + if ( outfd < 0 ) { perror("Could not open output file"); exit(EXIT_FAILURE); } - if(isatty(outfd)) + if ( isatty(outfd) ) { fprintf(stderr, "Cannot output to a TTY, specify a log file.\n"); exit(EXIT_FAILURE);