mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 03:25:20 +00:00
tests: qemublock: Test handling of 'unmap' and 'detect-zeroes' options
The test cases would correspond to the following -drive command lines: file-backing_basic-detect.xml: -drive file=/var/lib/libvirt/images/a,format=qcow,if=none,id=drive-dummy,detect-zeroes=on -device virtio-blk-pci,scsi=off,drive=drive-dummy,id=dummy file-backing_basic-unmap-detect.xml: -drive file=/var/lib/libvirt/images/a,format=qcow,if=none,id=drive-dummy,discard=unmap,detect-zeroes=unmap -device virtio-blk-pci,scsi=off,drive=drive-dummy,id=dummy file-backing_basic-unmap-ignore.xml: -drive file=/var/lib/libvirt/images/a,format=qcow,if=none,id=drive-dummy,discard=ignore,detect-zeroes=on -device virtio-blk-pci,scsi=off,drive=drive-dummy,id=dummy file-backing_basic-unmap.xml: -drive file=/var/lib/libvirt/images/a,format=qcow,if=none,id=drive-dummy,discard=unmap -device virtio-blk-pci,scsi=off,drive=drive-dummy,id=dummy Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
18458e8fd1
commit
24db3d9993
@ -466,6 +466,11 @@ mymain(void)
|
|||||||
TEST_DISK_TO_JSON("file-qcow2-backing-chain-encryption");
|
TEST_DISK_TO_JSON("file-qcow2-backing-chain-encryption");
|
||||||
TEST_DISK_TO_JSON("network-qcow2-backing-chain-encryption_auth");
|
TEST_DISK_TO_JSON("network-qcow2-backing-chain-encryption_auth");
|
||||||
|
|
||||||
|
TEST_DISK_TO_JSON("file-backing_basic-unmap");
|
||||||
|
TEST_DISK_TO_JSON("file-backing_basic-unmap-detect");
|
||||||
|
TEST_DISK_TO_JSON("file-backing_basic-unmap-ignore");
|
||||||
|
TEST_DISK_TO_JSON("file-backing_basic-detect");
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virHashFree(diskxmljsondata.schema);
|
virHashFree(diskxmljsondata.schema);
|
||||||
qemuTestDriverFree(&driver);
|
qemuTestDriverFree(&driver);
|
||||||
|
@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"node-name": "node-a-f",
|
||||||
|
"read-only": false,
|
||||||
|
"detect-zeroes": "on",
|
||||||
|
"driver": "qcow",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/a",
|
||||||
|
"node-name": "node-a-s",
|
||||||
|
"read-only": false,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-b-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-b-f",
|
||||||
|
"read-only": true,
|
||||||
|
"driver": "qed",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/b",
|
||||||
|
"node-name": "node-b-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-c-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-c-f",
|
||||||
|
"read-only": true,
|
||||||
|
"driver": "vmdk",
|
||||||
|
"file": {
|
||||||
|
"driver": "gluster",
|
||||||
|
"volume": "images",
|
||||||
|
"path": "c",
|
||||||
|
"server": [
|
||||||
|
{
|
||||||
|
"type": "inet",
|
||||||
|
"host": "test.org",
|
||||||
|
"port": "24007"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"node-name": "node-c-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-d-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-d-f",
|
||||||
|
"read-only": true,
|
||||||
|
"driver": "raw",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/d",
|
||||||
|
"node-name": "node-d-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
<disk type='file' device='disk'>
|
||||||
|
<driver name='qemu' type='qcow' detect_zeroes='unmap'/>
|
||||||
|
<source file='/var/lib/libvirt/images/a'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-a-s'/>
|
||||||
|
<nodename type='format' name='node-a-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='file' index='1'>
|
||||||
|
<format type='qed'/>
|
||||||
|
<source file='/var/lib/libvirt/images/b'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-b-s'/>
|
||||||
|
<nodename type='format' name='node-b-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='network' index='2'>
|
||||||
|
<format type='vmdk'/>
|
||||||
|
<source protocol='gluster' name='images/c'>
|
||||||
|
<host name='test.org'/>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-c-s'/>
|
||||||
|
<nodename type='format' name='node-c-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='file' index='3'>
|
||||||
|
<format type='raw'/>
|
||||||
|
<source file='/var/lib/libvirt/images/d'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-d-s'/>
|
||||||
|
<nodename type='format' name='node-d-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore/>
|
||||||
|
</backingStore>
|
||||||
|
</backingStore>
|
||||||
|
</backingStore>
|
||||||
|
<target dev='vda'/>
|
||||||
|
</disk>
|
@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"node-name": "node-a-f",
|
||||||
|
"read-only": false,
|
||||||
|
"discard": "unmap",
|
||||||
|
"detect-zeroes": "unmap",
|
||||||
|
"driver": "qcow",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/a",
|
||||||
|
"node-name": "node-a-s",
|
||||||
|
"read-only": false,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-b-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-b-f",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap",
|
||||||
|
"driver": "qed",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/b",
|
||||||
|
"node-name": "node-b-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-c-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-c-f",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap",
|
||||||
|
"driver": "vmdk",
|
||||||
|
"file": {
|
||||||
|
"driver": "gluster",
|
||||||
|
"volume": "images",
|
||||||
|
"path": "c",
|
||||||
|
"server": [
|
||||||
|
{
|
||||||
|
"type": "inet",
|
||||||
|
"host": "test.org",
|
||||||
|
"port": "24007"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"node-name": "node-c-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-d-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-d-f",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap",
|
||||||
|
"driver": "raw",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/d",
|
||||||
|
"node-name": "node-d-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
<disk type='file' device='disk'>
|
||||||
|
<driver name='qemu' type='qcow' discard='unmap' detect_zeroes='unmap'/>
|
||||||
|
<source file='/var/lib/libvirt/images/a'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-a-s'/>
|
||||||
|
<nodename type='format' name='node-a-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='file' index='1'>
|
||||||
|
<format type='qed'/>
|
||||||
|
<source file='/var/lib/libvirt/images/b'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-b-s'/>
|
||||||
|
<nodename type='format' name='node-b-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='network' index='2'>
|
||||||
|
<format type='vmdk'/>
|
||||||
|
<source protocol='gluster' name='images/c'>
|
||||||
|
<host name='test.org'/>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-c-s'/>
|
||||||
|
<nodename type='format' name='node-c-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='file' index='3'>
|
||||||
|
<format type='raw'/>
|
||||||
|
<source file='/var/lib/libvirt/images/d'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-d-s'/>
|
||||||
|
<nodename type='format' name='node-d-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore/>
|
||||||
|
</backingStore>
|
||||||
|
</backingStore>
|
||||||
|
</backingStore>
|
||||||
|
<target dev='vda'/>
|
||||||
|
</disk>
|
@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"node-name": "node-a-f",
|
||||||
|
"read-only": false,
|
||||||
|
"discard": "ignore",
|
||||||
|
"detect-zeroes": "on",
|
||||||
|
"driver": "qcow",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/a",
|
||||||
|
"node-name": "node-a-s",
|
||||||
|
"read-only": false,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-b-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-b-f",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "ignore",
|
||||||
|
"driver": "qed",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/b",
|
||||||
|
"node-name": "node-b-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-c-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-c-f",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "ignore",
|
||||||
|
"driver": "vmdk",
|
||||||
|
"file": {
|
||||||
|
"driver": "gluster",
|
||||||
|
"volume": "images",
|
||||||
|
"path": "c",
|
||||||
|
"server": [
|
||||||
|
{
|
||||||
|
"type": "inet",
|
||||||
|
"host": "test.org",
|
||||||
|
"port": "24007"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"node-name": "node-c-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-d-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-d-f",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "ignore",
|
||||||
|
"driver": "raw",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/d",
|
||||||
|
"node-name": "node-d-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
<disk type='file' device='disk'>
|
||||||
|
<driver name='qemu' type='qcow' discard='ignore' detect_zeroes='on'/>
|
||||||
|
<source file='/var/lib/libvirt/images/a'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-a-s'/>
|
||||||
|
<nodename type='format' name='node-a-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='file' index='1'>
|
||||||
|
<format type='qed'/>
|
||||||
|
<source file='/var/lib/libvirt/images/b'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-b-s'/>
|
||||||
|
<nodename type='format' name='node-b-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='network' index='2'>
|
||||||
|
<format type='vmdk'/>
|
||||||
|
<source protocol='gluster' name='images/c'>
|
||||||
|
<host name='test.org'/>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-c-s'/>
|
||||||
|
<nodename type='format' name='node-c-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='file' index='3'>
|
||||||
|
<format type='raw'/>
|
||||||
|
<source file='/var/lib/libvirt/images/d'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-d-s'/>
|
||||||
|
<nodename type='format' name='node-d-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore/>
|
||||||
|
</backingStore>
|
||||||
|
</backingStore>
|
||||||
|
</backingStore>
|
||||||
|
<target dev='vda'/>
|
||||||
|
</disk>
|
@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
"node-name": "node-a-f",
|
||||||
|
"read-only": false,
|
||||||
|
"discard": "unmap",
|
||||||
|
"driver": "qcow",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/a",
|
||||||
|
"node-name": "node-a-s",
|
||||||
|
"read-only": false,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-b-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-b-f",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap",
|
||||||
|
"driver": "qed",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/b",
|
||||||
|
"node-name": "node-b-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-c-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-c-f",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap",
|
||||||
|
"driver": "vmdk",
|
||||||
|
"file": {
|
||||||
|
"driver": "gluster",
|
||||||
|
"volume": "images",
|
||||||
|
"path": "c",
|
||||||
|
"server": [
|
||||||
|
{
|
||||||
|
"type": "inet",
|
||||||
|
"host": "test.org",
|
||||||
|
"port": "24007"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"node-name": "node-c-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
},
|
||||||
|
"backing": "node-d-f"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"node-name": "node-d-f",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap",
|
||||||
|
"driver": "raw",
|
||||||
|
"file": {
|
||||||
|
"driver": "file",
|
||||||
|
"filename": "/var/lib/libvirt/images/d",
|
||||||
|
"node-name": "node-d-s",
|
||||||
|
"read-only": true,
|
||||||
|
"discard": "unmap"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
<disk type='file' device='disk'>
|
||||||
|
<driver name='qemu' type='qcow' discard='unmap'/>
|
||||||
|
<source file='/var/lib/libvirt/images/a'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-a-s'/>
|
||||||
|
<nodename type='format' name='node-a-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='file' index='1'>
|
||||||
|
<format type='qed'/>
|
||||||
|
<source file='/var/lib/libvirt/images/b'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-b-s'/>
|
||||||
|
<nodename type='format' name='node-b-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='network' index='2'>
|
||||||
|
<format type='vmdk'/>
|
||||||
|
<source protocol='gluster' name='images/c'>
|
||||||
|
<host name='test.org'/>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-c-s'/>
|
||||||
|
<nodename type='format' name='node-c-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore type='file' index='3'>
|
||||||
|
<format type='raw'/>
|
||||||
|
<source file='/var/lib/libvirt/images/d'>
|
||||||
|
<privateData>
|
||||||
|
<nodenames>
|
||||||
|
<nodename type='storage' name='node-d-s'/>
|
||||||
|
<nodename type='format' name='node-d-f'/>
|
||||||
|
</nodenames>
|
||||||
|
</privateData>
|
||||||
|
</source>
|
||||||
|
<backingStore/>
|
||||||
|
</backingStore>
|
||||||
|
</backingStore>
|
||||||
|
</backingStore>
|
||||||
|
<target dev='vda'/>
|
||||||
|
</disk>
|
Loading…
Reference in New Issue
Block a user