qemu-irix/tests
Kevin Wolf d3c8c67469 block: Skip implicit nodes in query-block/blockstats
Commits 0db832f and 6cdbceb introduced the automatic insertion of filter
nodes above the top layer of mirror and commit block jobs. The
assumption made there was that since libvirt doesn't do node-level
management of the block layer yet, it shouldn't be affected by added
nodes.

This is true as far as commands issued by libvirt are concerned. It only
uses BlockBackend names to address nodes, so any operations it performs
still operate on the root of the tree as intended.

However, the assumption breaks down when you consider query commands,
which return data for the wrong node now. These commands also return
information on some child nodes (bs->file and/or bs->backing), which
libvirt does make use of, and which refer to the wrong nodes, too.

One of the consequences is that oVirt gets wrong information about the
image size and stops the VM in response as long as a mirror or commit
job is running:

https://bugzilla.redhat.com/show_bug.cgi?id=1470634

This patch fixes the problem by hiding the implicit nodes created
automatically by the mirror and commit block jobs in the output of
query-block and BlockBackend-based query-blockstats as long as the user
doesn't indicate that they are aware of those nodes by providing a node
name for them in the QMP command to start the block job.

The node-based commands query-named-block-nodes and query-blockstats
with query-nodes=true still show all nodes, including implicit ones.
This ensures that users that are capable of node-level management can
still access the full information; users that only know BlockBackends
won't use these commands.

Cc: qemu-stable@nongnu.org
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Tested-by: Eric Blake <eblake@redhat.com>
2017-07-24 15:06:04 +02:00
..
acpi-test-data i386/acpi: update expected acpi files 2017-07-03 22:42:36 +03:00
data test-qga: add test for guest-get-osinfo 2017-07-18 05:49:01 -05:00
docker docker: install clang since Shippable setup_ve() verify it is available 2017-07-18 10:58:36 +01:00
guest-debug
image-fuzzer
libqos libqos: add virtio used ring support 2017-06-30 11:03:45 +01:00
migration
multiboot tests: Avoid non-portable 'echo -ARG' 2017-07-11 17:45:00 +02:00
qapi-schema qapi: merge QInt and QFloat in QNum 2017-06-20 14:31:31 +02:00
qemu-iotests block: Skip implicit nodes in query-block/blockstats 2017-07-24 15:06:04 +02:00
rocker tests: Avoid non-portable 'echo -ARG' 2017-07-11 17:45:00 +02:00
tcg Replace 'struct ucontext' with 'ucontext_t' type 2017-07-20 10:10:28 +01:00
vmstate-static-checker-data
.gitignore tests: crypto: add hmac speed benchmark support 2017-07-19 10:11:05 +01:00
Makefile.include tests: Handle $RANDOM not being supported by the shell 2017-07-20 15:00:00 +01:00
ac97-test.c
acpi-utils.c
acpi-utils.h hw/i386: Use Rev3 FADT (ACPI 2.0) instead of Rev1 to improve guest OS support. 2017-05-03 12:29:40 +02:00
ahci-test.c tests/ahci-test: Be mean with RAM 2017-07-18 11:47:57 -04:00
atomic_add-bench.c
benchmark-crypto-cipher.c tests: crypto: add cipher speed benchmark support 2017-07-19 10:11:05 +01:00
benchmark-crypto-hash.c tests: crypto: add hash speed benchmark support 2017-07-19 10:11:05 +01:00
benchmark-crypto-hmac.c tests: crypto: add hmac speed benchmark support 2017-07-19 10:11:05 +01:00
bios-tables-test.c pci, virtio, vhost: fixes 2017-05-18 10:01:08 +01:00
boot-order-test.c
boot-sector.c
boot-sector.h
boot-serial-test.c boot-serial-test: use -no-shutdown 2017-03-24 13:39:50 +00:00
check-block.sh
check-qdict.c tests/qdict: check more get_try_int() cases 2017-06-20 14:31:33 +02:00
check-qjson.c json: learn to parse uint64 numbers 2017-06-20 14:31:31 +02:00
check-qlist.c tests: remove /{qnum, qlist, dict}/destroy test 2017-06-20 14:31:31 +02:00
check-qnull.c
check-qnum.c qnum: add uint type 2017-06-20 14:31:31 +02:00
check-qom-interface.c
check-qom-proplist.c qom: Fix ambiguous path detection when ambiguous=NULL 2017-07-17 15:41:30 -03:00
check-qstring.c tests: remove /{qnum, qlist, dict}/destroy test 2017-06-20 14:31:31 +02:00
crypto-tls-x509-helpers.c
crypto-tls-x509-helpers.h
device-introspect-test.c qmp: Include parent type on 'qom-list-types' output 2017-07-17 15:41:30 -03:00
display-vga-test.c
drive_del-test.c tests: Use null-co:// instead of /dev/null as the dummy image 2017-05-11 11:08:40 +02:00
ds1338-test.c
e1000-test.c
e1000e-test.c
eepro100-test.c
endianness-test.c
es1370-test.c
fdc-test.c fdc-test: Avoid deprecated 'change' command 2017-05-09 09:14:40 +02:00
fw_cfg-test.c
hd-geo-test.c
i440fx-test.c
i82801b11-test.c
ide-test.c ide-test: check return of fwrite 2017-06-04 18:42:55 +03:00
intel-hda-test.c
io-channel-helpers.c
io-channel-helpers.h
ioh3420-test.c
iothread.c
iothread.h
ipmi-bt-test.c
ipmi-kcs-test.c
ipoctal232-test.c
ivshmem-test.c
libqtest.c tests/libqtest: Print error instead of aborting when env variable is missing 2017-06-04 18:42:55 +03:00
libqtest.h libqtest: Add a generic function to run a callback function for every machine 2017-04-26 14:42:31 +01:00
m25p80-test.c
m48t59-test.c
megasas-test.c megasas: always store SCSIRequest* into MegasasCmd 2017-06-15 11:04:05 +02:00
ne2000-test.c
numa-test.c numa-test: fix query-cpus leaks 2017-05-30 16:09:48 -03:00
nvme-test.c tests: Use null-co:// instead of /dev/null as the dummy image 2017-05-11 11:08:40 +02:00
pc-cpu-test.c libqtest: Add a generic function to run a callback function for every machine 2017-04-26 14:42:31 +01:00
pcnet-test.c
pkix_asn1_tab.c
pnv-xscom-test.c
postcopy-test.c chardev: move headers to include/chardev 2017-06-02 11:33:52 +04:00
prom-env-test.c
ptimer-test-stubs.c
ptimer-test.c
ptimer-test.h
pvpanic-test.c
pxe-test.c
q35-test.c tests/q35-test: add TSEG size checks 2017-06-16 18:44:55 +03:00
qemu-iotests-quick.sh
qht-bench.c exec: [tcg] Use different TBs according to the vCPU's dynamic tracing state 2017-07-17 13:11:05 +01:00
qmp-test.c
qom-test.c libqtest: Add a generic function to run a callback function for every machine 2017-04-26 14:42:31 +01:00
rcutorture.c
rtas-test.c
rtc-test.c qtest: add rtc periodic timer test 2017-06-06 20:18:35 +02:00
rtl8139-test.c
spapr-phb-test.c
tco-test.c
test-aio-multithread.c
test-aio.c
test-arm-mptimer.c
test-base64.c
test-bitcnt.c
test-bitops.c
test-blockjob-txn.c blockjob: strengthen a bit test-blockjob-txn 2017-05-24 16:38:51 -04:00
test-blockjob.c blockjob: introduce block_job_early_fail 2017-05-24 16:38:51 -04:00
test-bufferiszero.c
test-char.c test-char: add hotswap test 2017-07-14 11:04:34 +02:00
test-clone-visitor.c tests/qapi-schema: Avoid 'str' in alternate test cases 2017-05-31 16:04:05 +02:00
test-coroutine.c
test-crypto-afsplit.c
test-crypto-block.c block: pass option prefix down to crypto layer 2017-07-11 17:44:56 +02:00
test-crypto-cipher.c
test-crypto-hash.c
test-crypto-hmac.c
test-crypto-ivgen.c
test-crypto-pbkdf.c
test-crypto-secret.c
test-crypto-tlscredsx509.c
test-crypto-tlssession.c
test-crypto-xts.c
test-cutils.c
test-filter-mirror.c
test-filter-redirector.c
test-hbitmap.c tests: add hbitmap iter test 2017-07-11 17:44:57 +02:00
test-hmp.c hmp: add hmp analogue for qmp-chardev-change 2017-07-14 11:04:34 +02:00
test-int128.c
test-io-channel-buffer.c
test-io-channel-command.c
test-io-channel-file.c
test-io-channel-socket.c sockets: Limit SocketAddressLegacy to external interfaces 2017-05-09 09:14:40 +02:00
test-io-channel-tls.c
test-io-task.c
test-iov.c
test-keyval.c tests: Remove test cases for alternates of 'number' and 'int' 2017-06-19 14:56:29 +02:00
test-logging.c
test-mul64.c
test-netfilter.c
test-opts-visitor.c qapi: Fix QemuOpts visitor regression on unvisited input 2017-03-22 19:24:34 +01:00
test-qapi-util.c
test-qdev-global-props.c test-qdev-global-props: Test global property ordering 2017-07-17 15:41:30 -03:00
test-qdist.c
test-qemu-opts.c qobject: Use simpler QDict/QList scalar insertion macros 2017-05-09 09:13:51 +02:00
test-qga.c test-qga: add test for guest-get-osinfo 2017-07-18 05:49:01 -05:00
test-qht-par.c
test-qht.c
test-qmp-commands.c qapi: merge QInt and QFloat in QNum 2017-06-20 14:31:31 +02:00
test-qmp-event.c qapi: merge QInt and QFloat in QNum 2017-06-20 14:31:31 +02:00
test-qobject-input-visitor.c qapi: update the qobject visitor to use QNUM_U64 2017-06-20 14:31:31 +02:00
test-qobject-output-visitor.c qapi: update the qobject visitor to use QNUM_U64 2017-06-20 14:31:31 +02:00
test-rcu-list.c
test-replication.c tests: Disable image lock in test-replication 2017-05-11 11:08:41 +02:00
test-shift128.c
test-string-input-visitor.c qapi: Fix string input visitor regression for empty lists 2017-03-21 10:43:01 +01:00
test-string-output-visitor.c
test-thread-pool.c
test-throttle.c block: remove timer canceling in throttle_config() 2017-07-18 15:14:35 +02:00
test-timed-average.c
test-uuid.c
test-visitor-serialization.c
test-vmstate.c migration: Move migration.h to migration/ 2017-06-13 11:00:45 +02:00
test-write-threshold.c
test-x86-cpuid-compat.c qapi: merge QInt and QFloat in QNum 2017-06-20 14:31:31 +02:00
test-x86-cpuid.c
test-xbzrle.c migration: Create migration/xbzrle.h 2017-05-18 18:04:54 +02:00
tmp105-test.c
tpci200-test.c
usb-hcd-ehci-test.c
usb-hcd-ohci-test.c
usb-hcd-uhci-test.c tests: Use null-co:// instead of /dev/null as the dummy image 2017-05-11 11:08:40 +02:00
usb-hcd-xhci-test.c tests: Use null-co:// instead of /dev/null as the dummy image 2017-05-11 11:08:40 +02:00
vhost-user-bridge.c vhost-user-bridge: fix iov_restore_front() warning 2017-06-08 22:02:36 +03:00
vhost-user-test.c char: add backend hotswap handler 2017-07-14 11:04:33 +02:00
virtio-9p-test.c tests/virtio-9p-test: Don't call le*_to_cpus on fields of packed struct 2017-03-27 21:15:31 +02:00
virtio-balloon-test.c
virtio-blk-test.c tests: fix virtio-blk-test ISR dependence 2017-06-30 11:03:45 +01:00
virtio-console-test.c
virtio-net-test.c tests: fix virtio-net-test ISR dependence 2017-06-30 11:03:45 +01:00
virtio-rng-test.c
virtio-scsi-test.c tests: fix virtio-scsi-test ISR dependence 2017-06-30 11:03:45 +01:00
virtio-serial-test.c
vmgenid-test.c vmgenid-test: use boot-sector infrastructure 2017-07-14 17:03:03 +01:00
vmxnet3-test.c
wdt_ib700-test.c