Message ID | 1594973699-781898-11-git-send-email-andrey.shinkevich@virtuozzo.com |
---|---|
State | New |
Headers | show |
Series | iotests: Dump QCOW2 dirty bitmaps metadata | expand |
17.07.2020 11:14, Andrey Shinkevich wrote: > Per original script design, QcowHeader class may dump the QCOW2 header > info separately from the QCOW2 extensions info. To implement the > to_dict() method for dumping extensions, let us introduce the class > Qcow2HeaderExtensionsDoc. I think, when dumping to qcow2, no needs to omit extensions, let's just always dump them. > > Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> > --- > tests/qemu-iotests/qcow2_format.py | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/tests/qemu-iotests/qcow2_format.py b/tests/qemu-iotests/qcow2_format.py > index 19d29b8..d2a8659 100644 > --- a/tests/qemu-iotests/qcow2_format.py > +++ b/tests/qemu-iotests/qcow2_format.py > @@ -248,6 +248,15 @@ class Qcow2BitmapTable: > return dict(entries=self.entries) > > > +class Qcow2HeaderExtensionsDoc: > + > + def __init__(self, extensions): > + self.extensions = extensions > + > + def to_dict(self): > + return dict(Header_extensions=self.extensions) s/H/h/ > + > + > QCOW2_EXT_MAGIC_BITMAPS = 0x23852875 > > >
On 28.07.2020 14:36, Vladimir Sementsov-Ogievskiy wrote: > 17.07.2020 11:14, Andrey Shinkevich wrote: >> Per original script design, QcowHeader class may dump the QCOW2 header >> info separately from the QCOW2 extensions info. To implement the >> to_dict() method for dumping extensions, let us introduce the class >> Qcow2HeaderExtensionsDoc. > > I think, when dumping to qcow2, no needs to omit extensions, let's > just always dump them. > Do you like to eliminate the command 'dump-header-exts' and the relevant handler 'cmd_dump_header_exts' from the script qcow2.py ? Andrey >> >> Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> >> --- >> tests/qemu-iotests/qcow2_format.py | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/tests/qemu-iotests/qcow2_format.py >> b/tests/qemu-iotests/qcow2_format.py >> index 19d29b8..d2a8659 100644 >> --- a/tests/qemu-iotests/qcow2_format.py >> +++ b/tests/qemu-iotests/qcow2_format.py >> @@ -248,6 +248,15 @@ class Qcow2BitmapTable: >> return dict(entries=self.entries) >> +class Qcow2HeaderExtensionsDoc: >> + >> + def __init__(self, extensions): >> + self.extensions = extensions >> + >> + def to_dict(self): >> + return dict(Header_extensions=self.extensions) > > s/H/h/ > >> + >> + >> QCOW2_EXT_MAGIC_BITMAPS = 0x23852875 >> > > >
28.07.2020 16:27, Andrey Shinkevich wrote: > On 28.07.2020 14:36, Vladimir Sementsov-Ogievskiy wrote: >> 17.07.2020 11:14, Andrey Shinkevich wrote: >>> Per original script design, QcowHeader class may dump the QCOW2 header >>> info separately from the QCOW2 extensions info. To implement the >>> to_dict() method for dumping extensions, let us introduce the class >>> Qcow2HeaderExtensionsDoc. >> >> I think, when dumping to qcow2, no needs to omit extensions, let's just always dump them. >> > > Do you like to eliminate the command 'dump-header-exts' and the relevant handler 'cmd_dump_header_exts' from the script qcow2.py ? > No, what already works should work of course. But we can not support -j for them. Still, not problem to support it. I just don't like this patch with an extra class. See my later comment, we can easily support json without this class. > > >>> >>> Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> >>> --- >>> tests/qemu-iotests/qcow2_format.py | 9 +++++++++ >>> 1 file changed, 9 insertions(+) >>> >>> diff --git a/tests/qemu-iotests/qcow2_format.py b/tests/qemu-iotests/qcow2_format.py >>> index 19d29b8..d2a8659 100644 >>> --- a/tests/qemu-iotests/qcow2_format.py >>> +++ b/tests/qemu-iotests/qcow2_format.py >>> @@ -248,6 +248,15 @@ class Qcow2BitmapTable: >>> return dict(entries=self.entries) >>> +class Qcow2HeaderExtensionsDoc: >>> + >>> + def __init__(self, extensions): >>> + self.extensions = extensions >>> + >>> + def to_dict(self): >>> + return dict(Header_extensions=self.extensions) >> >> s/H/h/ >> >>> + >>> + >>> QCOW2_EXT_MAGIC_BITMAPS = 0x23852875 >>> >> >> >>
On 28.07.2020 14:36, Vladimir Sementsov-Ogievskiy wrote: > 17.07.2020 11:14, Andrey Shinkevich wrote: >> Per original script design, QcowHeader class may dump the QCOW2 header >> info separately from the QCOW2 extensions info. To implement the >> to_dict() method for dumping extensions, let us introduce the class >> Qcow2HeaderExtensionsDoc. > > I think, when dumping to qcow2, no needs to omit extensions, let's > just always dump them. > >> >> Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> >> --- >> tests/qemu-iotests/qcow2_format.py | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/tests/qemu-iotests/qcow2_format.py >> b/tests/qemu-iotests/qcow2_format.py >> index 19d29b8..d2a8659 100644 >> --- a/tests/qemu-iotests/qcow2_format.py >> +++ b/tests/qemu-iotests/qcow2_format.py >> @@ -248,6 +248,15 @@ class Qcow2BitmapTable: >> return dict(entries=self.entries) >> +class Qcow2HeaderExtensionsDoc: >> + >> + def __init__(self, extensions): >> + self.extensions = extensions >> + >> + def to_dict(self): >> + return dict(Header_extensions=self.extensions) > > s/H/h/ > It is the original code and the change would be unralated to my patch. Should I make a separate patch for this change? Andrey >> + >> + >> QCOW2_EXT_MAGIC_BITMAPS = 0x23852875 >> > > >
On 28.07.2020 14:36, Vladimir Sementsov-Ogievskiy wrote: > 17.07.2020 11:14, Andrey Shinkevich wrote: >> Per original script design, QcowHeader class may dump the QCOW2 header >> info separately from the QCOW2 extensions info. To implement the >> to_dict() method for dumping extensions, let us introduce the class >> Qcow2HeaderExtensionsDoc. > > I think, when dumping to qcow2, no needs to omit extensions, let's > just always dump them. > >> >> Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> >> --- >> tests/qemu-iotests/qcow2_format.py | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/tests/qemu-iotests/qcow2_format.py >> b/tests/qemu-iotests/qcow2_format.py >> index 19d29b8..d2a8659 100644 >> --- a/tests/qemu-iotests/qcow2_format.py >> +++ b/tests/qemu-iotests/qcow2_format.py >> @@ -248,6 +248,15 @@ class Qcow2BitmapTable: >> return dict(entries=self.entries) >> +class Qcow2HeaderExtensionsDoc: >> + >> + def __init__(self, extensions): >> + self.extensions = extensions >> + >> + def to_dict(self): >> + return dict(Header_extensions=self.extensions) > > s/H/h/ > Sorry. I ment the non-JSON format dump as the original capitalized 'H'. The class Qcow2HeaderExtensionsDoc has been removed in the next v12. Andrey >> + >> + >> QCOW2_EXT_MAGIC_BITMAPS = 0x23852875 >> > > >
diff --git a/tests/qemu-iotests/qcow2_format.py b/tests/qemu-iotests/qcow2_format.py index 19d29b8..d2a8659 100644 --- a/tests/qemu-iotests/qcow2_format.py +++ b/tests/qemu-iotests/qcow2_format.py @@ -248,6 +248,15 @@ class Qcow2BitmapTable: return dict(entries=self.entries) +class Qcow2HeaderExtensionsDoc: + + def __init__(self, extensions): + self.extensions = extensions + + def to_dict(self): + return dict(Header_extensions=self.extensions) + + QCOW2_EXT_MAGIC_BITMAPS = 0x23852875
Per original script design, QcowHeader class may dump the QCOW2 header info separately from the QCOW2 extensions info. To implement the to_dict() method for dumping extensions, let us introduce the class Qcow2HeaderExtensionsDoc. Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> --- tests/qemu-iotests/qcow2_format.py | 9 +++++++++ 1 file changed, 9 insertions(+)