libvirt/tests
Eric Blake b7e73585a8 blockcopy: allow block device destination
To date, anyone performing a block copy and pivot ends up with
the destination being treated as <disk type='file'>.  While this
works for data access for a block device, it has at least one
noticeable shortcoming: virDomainGetBlockInfo() reports allocation
differently for block devices visited as files (the size of the
device) than for block devices visited as <disk type='block'>
(the maximum sector used, as reported by qemu); and this difference
is significant when trying to manage qcow2 format on block devices
that can be grown as needed.

Of course, the more powerful virDomainBlockCopy() API can already
express the ability to set the <disk> type.  But a new API can't
be backported, while a new flag to an existing API can; and it is
also rather inconvenient to have to resort to the full power of
generating XML when just adding a flag to the older call will do
the trick.  So this patch enhances blockcopy to let the user flag
when the resulting XML after the copy must list the device as
type='block'.

* include/libvirt/libvirt.h.in (VIR_DOMAIN_BLOCK_REBASE_COPY_DEV):
New flag.
* src/libvirt.c (virDomainBlockRebase): Document it.
* tools/virsh-domain.c (opts_block_copy, blockJobImpl): Add
--blockdev option.
* tools/virsh.pod (blockcopy): Document it.
* src/qemu/qemu_driver.c (qemuDomainBlockRebase): Allow new flag.
(qemuDomainBlockCopy): Remember the flag, and make sure it is only
used on actual block devices.
* tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml: Test it.

Signed-off-by: Eric Blake <eblake@redhat.com>
2014-09-05 13:13:50 -06:00
..
bhyvexml2argvdata bhyve: cdrom support 2014-07-24 18:56:37 +04:00
bhyvexml2xmloutdata tests: add bhyve xml2xml test 2014-04-08 20:50:36 +04:00
capabilityschemadata capabilities: add baselabel per sec driver/virt type to secmodel 2013-10-29 07:06:04 -06:00
commanddata command: test umask support 2014-09-03 09:36:13 -06:00
confdata
cputestdata Don't include non-migratable features in host-model 2014-09-05 12:45:19 +02:00
domaincapsschemadata qemu: Implement virConnectGetDomainCapabilities 2014-07-03 12:22:38 +02:00
domainconfdata Rename virDomainGetRootFilesystem to virDomainGetFilesystemForTarget 2014-02-20 15:50:46 +00:00
domainschemadata lxc: allow to keep or drop capabilities 2014-07-23 15:12:37 +08:00
domainsnapshotxml2xmlin conf: split <disk> schema into more pieces 2014-04-16 10:45:55 +02:00
domainsnapshotxml2xmlout snapshot: Add support for specifying snapshot disk backing type 2014-01-29 12:56:35 +01:00
fchostdata/fc_host tests: Add tests for fc_host 2013-05-13 17:24:18 +08:00
interfaceschemadata interface: clean up virInterfaceDefDevFormat 2014-06-20 11:50:41 +03:00
lxcconf2xmldata lxc domain from xml: convert lxc.cap.drop 2014-07-23 15:12:37 +08:00
lxcxml2xmldata Domain config: write <features/> if some capabilities are set. 2014-07-30 14:21:55 +02:00
lxcxml2xmloutdata Allow root directory in filesystem source dir schema 2013-11-07 18:43:15 +01:00
networkxml2confdata network: fix problems with SRV records 2014-03-26 16:42:43 +02:00
networkxml2firewalldata Add test for converting network XML to iptables rules 2014-04-25 15:44:09 +01:00
networkxml2xmlin conf: net: Correctly switch how to format address fields 2014-08-21 15:55:07 +02:00
networkxml2xmlout conf: net: Correctly switch how to format address fields 2014-08-21 15:55:07 +02:00
networkxml2xmlupdatein Test network update XML parsing 2013-08-28 08:05:46 +02:00
networkxml2xmlupdateout network: change default of forwardPlainNames to 'yes' 2014-02-04 12:00:26 +02:00
nodedevschemadata Add unique_id to nodedev output 2014-07-21 12:55:11 -04:00
nodeinfodata virNodeParseSocket: Take ARM into account 2014-06-20 15:59:08 +02:00
nwfilterxml2firewalldata Add a test suite for nwfilter ebiptables tech driver 2014-04-25 15:44:10 +01:00
nwfilterxml2xmlin
nwfilterxml2xmlout
qemucapabilitiesdata qemu: add capability probing for splash-timeout 2014-08-25 14:10:54 +02:00
qemucaps2xmldata qemu: add unit tests for the capabilities xml 2014-03-26 13:41:25 +01:00
qemuhelpdata qemu: Support setting the 'removable' flag for USB disks 2013-09-02 14:45:38 +02:00
qemuhotplugtestdata tests: Add test cases for previous commit 2014-09-05 08:35:34 +02:00
qemumonitorjsondata qemu: Add monitor APIs to fetch CPUID data from QEMU 2013-11-08 09:44:36 +01:00
qemuxml2argvdata blockcopy: allow block device destination 2014-09-05 13:13:50 -06:00
qemuxml2xmloutdata tests: Add test cases for previous commit 2014-09-05 08:35:34 +02:00
qemuxmlnsdata qemu: Set QEMU_AUDIO_DRV=none with -nographic 2013-09-02 16:53:39 -04:00
secretxml2xmlin Add tests for secret XML parsing 2014-02-14 16:47:14 +01:00
securityselinuxhelperdata tests: Flesh out securityselinuxhelper 2014-03-07 14:02:10 +01:00
securityselinuxlabeldata selinux: enhance test to cover nfs label failure 2013-08-20 10:46:58 -06:00
sexpr2xmldata conf: Format and parse backing chains in domain XML 2014-04-24 16:06:18 +02:00
storagepoolschemadata schema: require target path in storage pool xml 2013-05-17 08:33:22 +02:00
storagepoolxml2xmlin storage: Introduce parentaddr into virStoragePoolSourceAdapter 2014-07-21 12:55:10 -04:00
storagepoolxml2xmlout storage: Introduce parentaddr into virStoragePoolSourceAdapter 2014-07-21 12:55:10 -04:00
storagevolschemadata schema: make source optional in volume XML 2013-05-17 08:35:08 +02:00
storagevolxml2argvdata Fix a crash when cloning a volume with no backing store 2014-08-01 15:42:28 +02:00
storagevolxml2xmlin add nocow test case 2014-07-16 13:35:26 +02:00
storagevolxml2xmlout add nocow test case 2014-07-16 13:35:26 +02:00
sysinfodata aarch64: Fix sysinfo test. 2014-01-01 16:34:13 +00:00
vboxsnapshotxmldata tests: fix vbox snapshot xmls 2014-06-18 15:19:18 +02:00
vircaps2xmldata vircaps2xmltest: Introduce basic testing 2014-06-05 13:58:13 +02:00
virfiledata Fix bug in identifying sub-mounts 2013-11-28 11:49:01 +00:00
virpcitestdata tests: Fix PCI test data filenames for Windows 2014-01-25 12:53:11 +01:00
virscsidata tests: Fix SCSI test data filenames for Windows 2014-03-29 21:14:15 +01:00
virusbtestdata/sys_bus_usb/devices Add tests for virUSBDeviceFind functions 2014-03-03 14:35:22 +01:00
vmwareverdata vmware: make version parsing more robust 2014-06-11 14:56:18 +02:00
vmx2xmldata conf: Add keyboard input device type 2014-02-19 09:16:31 +01:00
xencapsdata
xmconfigdata src/xenconfig: wrap common formatting code 2014-08-18 20:37:07 -06:00
xml2sexprdata
xml2vmxdata esx: Fix floppy.fileName handling in the vmx file parser 2013-10-15 11:39:02 +01:00
.valgrind.supp valgrind: Adjust filter for _dl_allocate_tls 2013-08-01 17:04:28 -04:00
bhyvexml2argvmock.c bhyve: add xml2args unittest 2014-03-27 08:33:41 +04:00
bhyvexml2argvtest.c bhyve: add volumes support 2014-08-19 20:50:22 +04:00
bhyvexml2xmltest.c tests: add bhyve xml2xml test 2014-04-08 20:50:36 +04:00
capabilityschematest
commandhelper.c tests: Resolve Coverity RESOURCE_LEAK in commandhelper 2014-09-03 15:00:18 -04:00
commandtest.c command: test umask support 2014-09-03 09:36:13 -06:00
cpuset virBitmapParse: Fix behavior in case of error and fix up callers 2013-08-22 11:38:36 +02:00
cputest.c Don't include non-migratable features in host-model 2014-09-05 12:45:19 +02:00
define-dev-segfault
domaincapsschematest Introduce domain_capabilities 2014-07-03 12:22:37 +02:00
domaincapstest.c qemu: Implement virConnectGetDomainCapabilities 2014-07-03 12:22:38 +02:00
domainconftest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
domainschematest schema: bhyve and nmdm updates 2014-07-29 09:52:16 +04:00
domainsnapshotschematest
domainsnapshotxml2xmltest.c Use virBufferCheckError everywhere we report OOM error 2014-07-03 10:48:14 +02:00
esxutilstest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
eventtest.c Add virLogSource variables to all source files 2014-03-18 14:29:22 +00:00
fchosttest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
fdstreamtest.c Use virFileFindResource to locate iohelper for fdstream 2014-04-25 11:59:46 +01:00
int-overflow
interfaceschematest
interfacexml2xmltest.c Require spaces around equality comparisons 2014-03-18 11:29:44 +01:00
jsontest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
libvirtd-fail
libvirtd-pool
libvirtdconftest.c cleanup spaces between parentheses and braces 2014-08-20 14:50:21 +02:00
lxcconf2xmltest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
lxcxml2xmltest.c Domain config: write <features/> if some capabilities are set. 2014-07-30 14:21:55 +02:00
Makefile.am bhyve: add volumes support 2014-08-19 20:50:22 +04:00
metadatatest.c test: metadata: Improve test coverage 2014-07-17 17:04:12 +02:00
networkschematest
networkxml2conftest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
networkxml2firewalltest.c networkxml2firewalltest: fix build failure on freebsd 2014-04-30 10:16:09 +02:00
networkxml2xmltest.c conf: net: Correctly switch how to format address fields 2014-08-21 15:55:07 +02:00
networkxml2xmlupdatetest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
nodedevschematest
nodedevxml2xmltest.c Add unique_id to nodedev output 2014-07-21 12:55:11 -04:00
nodeinfotest.c virNodeParseSocket: Take ARM into account 2014-06-20 15:59:08 +02:00
nwfilterebiptablestest.c nwfilter: Tear down temp. filters when tearing all filters 2014-04-30 12:51:38 -04:00
nwfilterschematest
nwfilterxml2firewalltest.c Add a test suite for nwfilter ebiptables tech driver 2014-04-25 15:44:10 +01:00
nwfilterxml2xmltest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
objecteventtest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
objectlocking.ml tests: cleanup object-locking test 2014-03-18 10:20:49 +01:00
oomtrace.pl Remove tabs from all perl files & enforce this 2012-07-30 13:09:57 +01:00
openvzutilstest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
openvzutilstest.conf
pkix_asn1_tab.c
qemuagenttest.c qemu: use guest-fsfreeze-freeze-list command if mountpoints to freeze specified 2014-08-11 12:11:41 +02:00
qemuargv2xmltest.c Add new 'kvm' domain feature and ability to hide KVM signature 2014-08-26 10:41:24 +02:00
qemucapabilitiestest.c tests: Move qemu caps XML parsing into shared unit 2014-07-03 12:22:37 +02:00
qemucaps2xmltest.c capabilities: use bool instead of int 2014-07-14 08:00:46 -06:00
qemuhelptest.c qemu: add capability probing for splash-timeout 2014-08-25 14:10:54 +02:00
qemuhotplugtest.c qemuDomainAttachDeviceFlags: Parse device xml as inactive 2014-03-26 13:49:47 +01:00
qemumonitorjsontest.c qemu: Issue rtc-reset-reinjection command after guest-set-time 2014-08-20 14:20:05 +02:00
qemumonitortest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
qemumonitortestutils.c tests: monitor: json: Fix error message when returning json in json 2014-06-03 17:19:24 +02:00
qemumonitortestutils.h tests: Learn qemuMonitorTestNew optional greeting 2013-10-01 10:48:47 +02:00
qemuxml2argvmock.c qemuxml2argvmock: Mock time() on non-linux platforms too 2014-02-06 15:15:10 +01:00
qemuxml2argvtest.c qemu: Allow use of iothreads for disk definitions 2014-08-28 16:27:54 -04:00
qemuxml2xmltest.c tests: Add test cases for previous commit 2014-09-05 08:35:34 +02:00
qemuxmlnstest.c Use virFileFindResource to locate CPU map XML 2014-04-25 11:59:46 +01:00
read-bufsiz
read-non-seekable
reconnect.c util: make it easier to grab only regular command exit 2014-03-03 12:40:32 -07:00
schematestutils.sh tests: skip schema validation tests if xmllint is missing 2013-08-23 15:23:44 -06:00
scsihosttest.c scsi_host: Introduce virFindSCSIHostByPCI 2014-07-21 12:55:11 -04:00
seclabeltest.c maint: use hanging curly braces 2014-09-04 15:18:43 -06:00
secretschematest Add tests for secret XML parsing 2014-02-14 16:47:14 +01:00
secretxml2xmltest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
securityselinuxhelper.c maint: cleanup detection of const'ness of selinux ctx 2014-05-28 16:52:48 -06:00
securityselinuxlabeltest.c securityselinuxlabeltest: Don't create dummy file in the srcdir 2014-07-01 16:45:35 +02:00
securityselinuxtest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
sexpr2xmltest.c xen: rename xenxs to xenconfig 2014-08-18 20:36:24 -06:00
shunloadhelper.c Use K&R style for curly braces in tests/ 2014-03-20 17:06:38 +01:00
shunloadtest.c tests: Resolve Coverity RESOURCE_LEAK 2014-08-28 12:52:42 +02:00
sockettest.c Fix unitialized data in virSocketAddrMask 2014-03-20 12:15:00 +00:00
ssh.c build: fix shunloadtest breakage 2013-07-29 13:09:39 -06:00
start
statstest.c util: virstatslinux: make more generic 2014-07-15 22:00:59 +04:00
storagebackendsheepdogtest.c conf: track sizes directly in source struct 2014-04-02 06:03:00 -06:00
storagepoolschematest schema: require target path in storage pool xml 2013-05-17 08:33:22 +02:00
storagepoolxml2xmltest.c storage: Introduce parentaddr into virStoragePoolSourceAdapter 2014-07-21 12:55:10 -04:00
storagevolschematest schema: make source optional in volume XML 2013-05-17 08:35:08 +02:00
storagevolxml2argvtest.c Fix a crash when cloning a volume with no backing store 2014-08-01 15:42:28 +02:00
storagevolxml2xmltest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
sysinfotest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
test_conf.c test_conf: Resolve Coverity RESOURCE_LEAK 2014-09-03 15:00:19 -04:00
test_conf.sh rename tests/conftest.c 2013-03-19 13:13:28 -06:00
test-lib.sh test-lib: Make case skipping possible 2013-09-13 10:25:56 +02:00
testutils.c maint: use consistent if-else braces in remaining spots 2014-09-04 14:34:03 -06:00
testutils.h Add test for converting network XML to iptables rules 2014-04-25 15:44:09 +01:00
testutilslxc.c capabilities: use bool instead of int 2014-07-14 08:00:46 -06:00
testutilslxc.h Don't leave empty first line in C source files 2014-03-18 12:17:12 +01:00
testutilsqemu.c tests: Add test cases for previous commit 2014-09-05 08:35:34 +02:00
testutilsqemu.h tests: Move qemu caps XML parsing into shared unit 2014-07-03 12:22:37 +02:00
testutilsxen.c capabilities: use bool instead of int 2014-07-14 08:00:46 -06:00
testutilsxen.h Don't leave empty first line in C source files 2014-03-18 12:17:12 +01:00
utiltest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
vboxsnapshotxmltest.c vboxsnapshotxmltest: Don't write to a file in abs_srcdir 2014-07-01 16:46:29 +02:00
vcpupin virsh: forbid negative vcpu argument to vcpupin 2014-06-12 14:06:21 +02:00
viralloctest.c Add test suite for viralloc APIs 2014-04-25 11:29:55 +01:00
viratomictest.c maint: fix comma style issues: tests, tools 2013-11-20 09:14:55 -07:00
virauthconfigtest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virbitmaptest.c virbitmap: Introduce virBitmapOverlaps 2014-07-29 12:00:42 +01:00
virbuftest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
vircaps2xmltest.c capabilities: use bool instead of int 2014-07-14 08:00:46 -06:00
vircapstest.c capabilities: use bool instead of int 2014-07-14 08:00:46 -06:00
vircgroupmock.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
vircgrouptest.c Extend virCgroupGetPercpuStats to fill in vcputime too 2014-04-09 16:24:08 +02:00
vircryptotest.c Add helper APIs for generating cryptographic hashes 2014-03-10 16:39:18 +00:00
virdbustest.c maint: drop spurious semicolons 2014-08-25 17:29:30 -06:00
virdrivermoduletest.c virdrivermoduletest: Test all the modules 2014-08-27 07:41:48 +02:00
virendiantest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virfiletest.c Fix bug in identifying sub-mounts 2013-11-28 11:49:01 +00:00
virfirewalltest.c tests: skip virfirewalltest on non-Linux systems 2014-05-02 16:19:34 +04:00
virhashdata.h
virhashtest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virhostdevtest.c tests: remove hostdevmgr directory on cleanup 2014-04-28 22:58:10 +02:00
viridentitytest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
viriscsitest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virkeycodetest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virkeyfiletest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virkmodtest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virlockspacetest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virlogtest.c Fix flaw in detecting log format 2013-10-14 10:31:01 +01:00
virmock.h Conditionalize include of dlfcn.h in virmock.h 2014-04-25 15:48:30 +01:00
virmockdbus.c tests: avoid dlsym mocking on mingw 2014-05-20 15:16:22 -06:00
virnetdevbandwidthtest.c QoS: make tc filters match all traffic 2014-04-07 11:35:29 +02:00
virnetmessagetest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virnetserverclientmock.c Add test case for virNetServerClient object identity code 2013-09-24 09:37:26 +01:00
virnetserverclienttest.c Remove test case average timing 2013-10-08 12:39:30 +01:00
virnetsockettest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virnettlscontexttest.c tests: force FIPS testing mode with new enough GNU TLS versions 2014-09-04 11:56:39 +02:00
virnettlshelpers.c Fix assignment of comparison against zero 2014-07-16 09:39:57 +02:00
virnettlshelpers.h Fix parallel runs of TLS test suites 2013-08-09 11:54:41 +01:00
virnettlssessiontest.c tests: force FIPS testing mode with new enough GNU TLS versions 2014-09-04 11:56:39 +02:00
virpcimock.c Replace Pci with PCI throughout 2014-04-08 11:15:55 +01:00
virpcitest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virportallocatortest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virscsitest.c tests: Fix SCSI test data filenames for Windows 2014-03-29 21:14:15 +01:00
virsh-all tests: Skip virsh-all test as expensive 2013-08-12 18:47:56 +02:00
virsh-optparse virsh: Add keepalive in new vshConnect function 2014-03-18 08:27:29 +01:00
virsh-schedinfo Allow multiple parameters for schedinfo 2013-04-03 08:49:30 +02:00
virsh-synopsis
virsh-undefine
virsh-uriprecedence tests: Don't test user config file if ran as root 2013-09-13 10:25:56 +02:00
virshtest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virstoragetest.c util: storage: Return complete parent info from virStorageFileChainLookup 2014-07-09 11:41:34 +02:00
virstringtest.c util: string: Add helper to free non-NULL terminated string arrays 2014-06-24 10:45:43 +02:00
virsystemdtest.c tests: avoid dlsym mocking on mingw 2014-05-20 15:16:22 -06:00
virt-aa-helper-test Fix typos in src/* 2014-04-21 16:49:08 -06:00
virtimetest.c util: virTimeFieldsThenRaw never returns negative 2014-07-25 12:06:07 +02:00
viruritest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virusbmock.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
virusbtest.c Indent top-level labels by one space in tests/ 2014-03-25 14:58:41 +01:00
vmwarevertest.c vmware: make version parsing more robust 2014-06-11 14:56:18 +02:00
vmx2xmltest.c capabilities: use bool instead of int 2014-07-14 08:00:46 -06:00
xencapstest.c Use K&R style for curly braces in tests/ 2014-03-20 17:06:38 +01:00
xmconfigtest.c xen: rename xenxs to xenconfig 2014-08-18 20:36:24 -06:00
xml2sexprtest.c xen: rename xenxs to xenconfig 2014-08-18 20:36:24 -06:00
xml2vmxtest.c capabilities: use bool instead of int 2014-07-14 08:00:46 -06:00