xentrace: Don't append trace on existing file.

When you run "xentrace -e <mask> 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 <Christoph.Egger@amd.com>
This commit is contained in:
Keir Fraser committed 2007-12-04 10:17:32 +00:00
1 parent 9f0c829d98
commit 1f74affa2d
1 file changed
+7 -7
+7 -7
View File
@@ -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);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.