On 11.07.2020 22:11, Vladimir Sementsov-Ogievskiy wrote:
03.07.2020 16:13, Andrey Shinkevich wrote:
Read and dump entries from the bitmap directory of QCOW2 image.
It extends the output in the test case #291.
...
diff --git a/tests/qemu-iotests/qcow2_format.py
b/tests/qemu-iotests/qcow2_format.py
index d8c058d..7c0dc9a 100644
--- a/tests/qemu-iotests/qcow2_format.py
+++ b/tests/qemu-iotests/qcow2_format.py
@@ -132,6 +132,50 @@ class Qcow2BitmapExt(Qcow2Struct):
def __init__(self, fd):
super().__init__(fd=fd)
+ self.read_bitmap_directory(fd)
+
+ def read_bitmap_directory(self, fd):
+ fd.seek(self.bitmap_directory_offset)
+ self.bitmap_directory = \
+ [Qcow2BitmapDirEntry(fd) for _ in range(self.nb_bitmaps)]
sounds good. I think, we should restore fd position after reading
bitmap_directory, to point at the end of extension, to not break
further extensions loading
Yes, it is done in the constructor of QcowHeaderExtension:
if self.magic == QCOW2_EXT_MAGIC_BITMAPS:
...
position = fd.tell()
...
self.obj = Qcow2BitmapExt(fd=fd)
fd.seek(position)
Andrey