diff mbox series

[1/6] trace-cmd library: Bump the trace file version to 7

Message ID 20210422071718.483383-2-tz.stoyanov@gmail.com (mailing list archive)
State Superseded
Headers show
Series Bump trace file version | expand

Commit Message

Tzvetomir Stoyanov (VMware) April 22, 2021, 7:17 a.m. UTC
Adding a compression of the trace.dat file will change its structure.
These changes are not backward compatible, the old trace-cmd binaries
will not be able to read compressed trace files. Bumping the version to
7 will prevent old trace-cmd to read such files.

Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com>
---
 lib/trace-cmd/include/trace-cmd-local.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Steven Rostedt April 29, 2021, 1:19 a.m. UTC | #1
On Thu, 22 Apr 2021 10:17:13 +0300
"Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com> wrote:

> Adding a compression of the trace.dat file will change its structure.
> These changes are not backward compatible, the old trace-cmd binaries
> will not be able to read compressed trace files. Bumping the version to
> 7 will prevent old trace-cmd to read such files.

But this series doesn't add anything to the file that breaks the
version. The version should be updated with the patch that breaks the
backward compatibility. of the file, not before.

-- Steve

> 
> Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com>
> ---
>  lib/trace-cmd/include/trace-cmd-local.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/trace-cmd/include/trace-cmd-local.h b/lib/trace-cmd/include/trace-cmd-local.h
> index e8533b22..5578f00d 100644
> --- a/lib/trace-cmd/include/trace-cmd-local.h
> +++ b/lib/trace-cmd/include/trace-cmd-local.h
> @@ -14,7 +14,7 @@ void tracecmd_warning(const char *fmt, ...);
>  void tracecmd_fatal(const char *fmt, ...);
>  
>  /* trace.dat file format version */
> -#define FILE_VERSION 6
> +#define FILE_VERSION 7
>  
>  #define _STR(x)	#x
>  #define STR(x)	_STR(x)
Tzvetomir Stoyanov (VMware) April 29, 2021, 3:43 a.m. UTC | #2
On Thu, Apr 29, 2021 at 4:19 AM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Thu, 22 Apr 2021 10:17:13 +0300
> "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com> wrote:
>
> > Adding a compression of the trace.dat file will change its structure.
> > These changes are not backward compatible, the old trace-cmd binaries
> > will not be able to read compressed trace files. Bumping the version to
> > 7 will prevent old trace-cmd to read such files.
>
> But this series doesn't add anything to the file that breaks the
> version. The version should be updated with the patch that breaks the
> backward compatibility. of the file, not before.
>
I need the new version before the compression changes, because there
is logic which relies on the new version. There is a check whether to
read / write compression data based on the new file version. I was
wondering if to put all changes into a single patchset, version +
compression. Decided to split in two, although there is no sense to
bump the version without adding a compression.


> -- Steve
[...]
Steven Rostedt April 29, 2021, 1:16 p.m. UTC | #3
On Thu, 29 Apr 2021 06:43:54 +0300
Tzvetomir Stoyanov <tz.stoyanov@gmail.com> wrote:

> On Thu, Apr 29, 2021 at 4:19 AM Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > On Thu, 22 Apr 2021 10:17:13 +0300
> > "Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com> wrote:
> >  
> > > Adding a compression of the trace.dat file will change its structure.
> > > These changes are not backward compatible, the old trace-cmd binaries
> > > will not be able to read compressed trace files. Bumping the version to
> > > 7 will prevent old trace-cmd to read such files.  
> >
> > But this series doesn't add anything to the file that breaks the
> > version. The version should be updated with the patch that breaks the
> > backward compatibility. of the file, not before.
> >  
> I need the new version before the compression changes, because there
> is logic which relies on the new version. There is a check whether to
> read / write compression data based on the new file version. I was
> wondering if to put all changes into a single patchset, version +
> compression. Decided to split in two, although there is no sense to
> bump the version without adding a compression.

The file should stay at version 6 unless it has something that old
trace-cmd can not read.

Right now, with this patch, if I record a trace.dat file, and I port the
version check to older trace-cmd, it will think it can not read this file,
even though there's nothing in this file.

In fact, it should write version 6 until it writes something that is not
supported by version 6.

It will still need to be able to write version 6 files. In fact that's one
of the requirements here. That we allow trace-cmd to create older versions
if it does not use the features of the the new version.

-- Steve
diff mbox series

Patch

diff --git a/lib/trace-cmd/include/trace-cmd-local.h b/lib/trace-cmd/include/trace-cmd-local.h
index e8533b22..5578f00d 100644
--- a/lib/trace-cmd/include/trace-cmd-local.h
+++ b/lib/trace-cmd/include/trace-cmd-local.h
@@ -14,7 +14,7 @@  void tracecmd_warning(const char *fmt, ...);
 void tracecmd_fatal(const char *fmt, ...);
 
 /* trace.dat file format version */
-#define FILE_VERSION 6
+#define FILE_VERSION 7
 
 #define _STR(x)	#x
 #define STR(x)	_STR(x)