mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-02 01:17:58 +03:00
tests: virstoragetest: Add tests for detection of qcow2 'data_file' feature
Add two test images showing the use of 'data_file' and 'data_file_raw' (although the latter is not detected by libvirt) so that we can see that the qcow2 metadata parser and backing chain populators work correctly. The example files were created by: qemu-img create -f qcow2 -o data_file=raw,data_file_raw=true,preallocation=off datafile.qcow2 1k qemu-img create -f qcow2 -o data_file=rawpreallocation=off -F qcow2 -b datafile.qcow2 qcow2datafile-datafile.qcow2 Note that 'data_file_raw' is mutually exclusive with backing images. Signed-off-by: Nikolai Barybin <nikolai.barybin@virtuozzo.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com> Signed-off-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
59b1408860
commit
4281362a96
@ -203,6 +203,26 @@ testStorageChain(const void *args)
|
||||
NULLSTR(virStorageFileFormatTypeToString(elt->format)),
|
||||
virStorageNetProtocolTypeToString(elt->protocol),
|
||||
NULLSTR(elt->nhosts ? elt->hosts[0].name : NULL));
|
||||
|
||||
if (elt->dataFileStore) {
|
||||
g_autofree char *strippedPathDataFileRaw = virTestStablePath(elt->dataFileRaw);
|
||||
g_autofree char *strippedPathDataFile = virTestStablePath(elt->dataFileStore->path);
|
||||
|
||||
virBufferAsprintf(&buf,
|
||||
"dataFileRaw: %s\n\n\n"
|
||||
"dataFileStoreSource:\n"
|
||||
"path: %s\n"
|
||||
"capacity: %lld\n"
|
||||
"encryption: %d\n"
|
||||
"type:%s\n"
|
||||
"format:%s\n",
|
||||
strippedPathDataFileRaw,
|
||||
strippedPathDataFile,
|
||||
elt->dataFileStore->capacity,
|
||||
!!elt->dataFileStore->encryption,
|
||||
NULLSTR(virStorageTypeToString(elt->dataFileStore->type)),
|
||||
NULLSTR(virStorageFileFormatTypeToString(elt->dataFileStore->format)));
|
||||
}
|
||||
}
|
||||
|
||||
virBufferTrim(&buf, "\n");
|
||||
@ -464,6 +484,16 @@ mymain(void)
|
||||
|
||||
testCleanupImages();
|
||||
|
||||
/* qcow2 + datafile
|
||||
* 1) qcow2 image with data file
|
||||
* 2) qcow2 -> qcow2 backing image with data file */
|
||||
TEST_CHAIN("qcow2-datafile",
|
||||
abs_srcdir "/virstoragetestdata/images/datafile.qcow2",
|
||||
VIR_STORAGE_FILE_QCOW2, EXP_PASS);
|
||||
TEST_CHAIN("qcow2datafile-qcow2_qcow2-datafile",
|
||||
abs_srcdir "/virstoragetestdata/images/qcow2datafile-datafile.qcow2",
|
||||
VIR_STORAGE_FILE_QCOW2, EXP_PASS);
|
||||
|
||||
/* Test various combinations of qcow2 images with missing 'backing_format' */
|
||||
TEST_CHAIN("qcow2-qcow2_qcow2-qcow2_qcow2-auto",
|
||||
abs_srcdir "/virstoragetestdata/images/qcow2_qcow2-qcow2_qcow2-auto.qcow2",
|
||||
|
BIN
tests/virstoragetestdata/images/datafile.qcow2
Normal file
BIN
tests/virstoragetestdata/images/datafile.qcow2
Normal file
Binary file not shown.
BIN
tests/virstoragetestdata/images/qcow2datafile-datafile.qcow2
Normal file
BIN
tests/virstoragetestdata/images/qcow2datafile-datafile.qcow2
Normal file
Binary file not shown.
20
tests/virstoragetestdata/out/qcow2-datafile
Normal file
20
tests/virstoragetestdata/out/qcow2-datafile
Normal file
@ -0,0 +1,20 @@
|
||||
path:ABS_SRCDIR/virstoragetestdata/images/datafile.qcow2
|
||||
backingStoreRaw: <null>
|
||||
backingStoreRawFormat: none(0)
|
||||
capacity: 1024
|
||||
encryption: 0
|
||||
relPath:<null>
|
||||
type:file
|
||||
format:qcow2
|
||||
protocol:none
|
||||
hostname:<null>
|
||||
|
||||
dataFileRaw: raw
|
||||
|
||||
|
||||
dataFileStoreSource:
|
||||
path: ABS_SRCDIR/virstoragetestdata/images/raw
|
||||
capacity: 0
|
||||
encryption: 0
|
||||
type:file
|
||||
format:raw
|
@ -0,0 +1,31 @@
|
||||
path:ABS_SRCDIR/virstoragetestdata/images/qcow2datafile-datafile.qcow2
|
||||
backingStoreRaw: datafile.qcow2
|
||||
backingStoreRawFormat: qcow2(14)
|
||||
capacity: 1024
|
||||
encryption: 0
|
||||
relPath:<null>
|
||||
type:file
|
||||
format:qcow2
|
||||
protocol:none
|
||||
hostname:<null>
|
||||
|
||||
path:ABS_SRCDIR/virstoragetestdata/images/datafile.qcow2
|
||||
backingStoreRaw: <null>
|
||||
backingStoreRawFormat: none(0)
|
||||
capacity: 1024
|
||||
encryption: 0
|
||||
relPath:datafile.qcow2
|
||||
type:file
|
||||
format:qcow2
|
||||
protocol:none
|
||||
hostname:<null>
|
||||
|
||||
dataFileRaw: raw
|
||||
|
||||
|
||||
dataFileStoreSource:
|
||||
path: ABS_SRCDIR/virstoragetestdata/images/raw
|
||||
capacity: 0
|
||||
encryption: 0
|
||||
type:file
|
||||
format:raw
|
Loading…
Reference in New Issue
Block a user