qemu-e2k/tests
Vladimir Sementsov-Ogievskiy 2c060c0f50 block/vpc: return ZERO block-status when appropriate
In case when get_image_offset() returns -1, we do zero out the
corresponding chunk of qiov. So, this should be reported as ZERO.

Note that this changes visible output of "qemu-img map --output=json"
and "qemu-io -c map" commands. For qemu-img map, the change is obvious:
we just mark as zero what is really zero. For qemu-io it's less
obvious: what was unallocated now is allocated.

There is an inconsistency in understanding of unallocated regions in
Qemu: backing-supporting format-drivers return 0 block-status to report
go-to-backing logic for this area. Some protocol-drivers (iscsi) return
0 to report fs-unallocated-non-zero status (i.e., don't occupy space on
disk, read result is undefined).

BDRV_BLOCK_ALLOCATED is defined as something more close to
go-to-backing logic. Still it is calculated as ZERO | DATA, so 0 from
iscsi is treated as unallocated. It doesn't influence backing-chain
behavior, as iscsi can't have backing file. But it does influence
"qemu-io -c map".

We should solve this inconsistency at some future point. Now, let's
just make backing-not-supporting format drivers (vdi in the previous
patch and vpc now) to behave more like backing-supporting drivers
and not report 0 block-status. More over, returning ZERO status is
absolutely valid thing, and again, corresponds to how the other
format-drivers (backing-supporting) work.

After block-status update, it never reports 0, so setting
unallocated_blocks_are_zero doesn't make sense (as the only user of it
is bdrv_co_block_status and it checks unallocated_blocks_are_zero only
for unallocated areas). Drop it.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200528094405.145708-5-vsementsov@virtuozzo.com>
[mreitz: qemu-io -c map as used by iotest 146 now reports everything as
         allocated; in order to make the test do something useful, we
         use qemu-img map --output=json now]
Signed-off-by: Max Reitz <mreitz@redhat.com>
2020-07-06 10:32:38 +02:00
..
acceptance Renesas hardware patches 2020-06-23 13:55:52 +01:00
data tests/acpi: virt: update golden masters for DSDT 2020-07-03 16:59:43 +01:00
decode decodetree: Drop check for less than 2 patterns in a group 2020-06-09 09:19:48 -07:00
docker tests/docker: Added docker build support for TSan. 2020-06-16 14:49:05 +01:00
fp softfloat: Change tininess_before_rounding to bool 2020-05-19 08:41:16 -07:00
guest-debug tests/guest-debug: catch hanging guests 2020-05-15 15:25:07 +01:00
image-fuzzer
keys
migration tests/migration: fix unreachable path in stress test 2020-06-17 17:48:39 +01:00
multiboot
perf/block/qcow2
plugin configure: Add -Wno-psabi 2020-06-18 10:26:02 +01:00
qapi-schema qapi: New special feature flag "deprecated" 2020-03-17 21:42:47 +01:00
qemu-iotests block/vpc: return ZERO block-status when appropriate 2020-07-06 10:32:38 +02:00
qtest tests/acpi: virt: update golden masters for DSDT 2020-07-03 16:59:43 +01:00
rocker
tcg target/i386: reimplement fpatan using floatx80 operations 2020-06-26 09:39:39 -04:00
tsan tests/docker: Added docker build support for TSan. 2020-06-16 14:49:05 +01:00
uefi-test-tools
vm tests/vm: Remove flex/bison packages 2020-06-08 17:04:19 +01:00
vmstate-static-checker-data
.gitignore tests/tcg/aarch64: add a gdbstub testcase for SVE registers 2020-03-17 17:38:47 +00:00
atomic64-bench.c
atomic_add-bench.c
benchmark-crypto-cipher.c
benchmark-crypto-hash.c crypto: extend hash benchmark to cover more algorithms 2020-05-07 12:52:51 +01:00
benchmark-crypto-hmac.c
check-block-qdict.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
check-block.sh check-block: enable iotests with SafeStack 2020-06-23 15:46:05 +01:00
check-qdict.c
check-qjson.c
check-qlist.c qobject: Eliminate qlist_iter(), use QLIST_FOREACH_ENTRY() instead 2020-04-30 06:51:15 +02:00
check-qlit.c
check-qnull.c
check-qnum.c
check-qobject.c tests: Use &error_abort where appropriate 2020-07-02 06:25:28 +02:00
check-qom-interface.c
check-qom-proplist.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
check-qstring.c
crypto-tls-psk-helpers.c
crypto-tls-psk-helpers.h
crypto-tls-x509-helpers.c
crypto-tls-x509-helpers.h
dbus-vmstate-daemon.sh
io-channel-helpers.c
io-channel-helpers.h
iothread.c
iothread.h
Makefile.include tests: Disable select tests under TSan, which hit TSan issue. 2020-06-16 14:49:05 +01:00
pkix_asn1_tab.c
ptimer-test-stubs.c
ptimer-test.c
ptimer-test.h
qht-bench.c qht: Fix threshold rate calculation 2020-06-19 18:29:11 +01:00
rcutorture.c tests/rcutorture: mild documenting refactor of update thread 2020-02-25 17:42:59 +00:00
requirements.txt Acceptance test: add "boot_linux" tests 2020-03-17 18:55:52 -04:00
socket-helpers.c
socket-helpers.h
test-aio-multithread.c
test-aio.c util/async: make bh_aio_poll() O(1) 2020-02-22 08:26:47 +00:00
test-authz-list.c
test-authz-listfile.c
test-authz-pam.c
test-authz-simple.c
test-base64.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
test-bdrv-drain.c block: Drop @child_class from bdrv_child_perm() 2020-05-18 19:05:25 +02:00
test-bdrv-graph-mod.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
test-bitcnt.c
test-bitmap.c
test-bitops.c
test-block-backend.c
test-block-iothread.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
test-blockjob-txn.c
test-blockjob.c job: take each job's lock individually in job_txn_apply 2020-04-07 14:34:47 +02:00
test-bufferiszero.c
test-char.c
test-clone-visitor.c
test-coroutine.c
test-crypto-afsplit.c
test-crypto-block.c
test-crypto-cipher.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
test-crypto-hash.c
test-crypto-hmac.c
test-crypto-ivgen.c
test-crypto-pbkdf.c
test-crypto-secret.c test-crypto-secret: add 'secret_keyring' object tests. 2020-06-15 11:33:51 +01:00
test-crypto-tlscredsx509.c
test-crypto-tlssession.c
test-crypto-xts.c
test-cutils.c
test-hbitmap.c block/dirty-bitmap: improve _next_dirty_area API 2020-03-18 14:03:46 -04:00
test-image-locking.c
test-int128.c
test-io-channel-buffer.c
test-io-channel-command.c
test-io-channel-file.c
test-io-channel-socket.c
test-io-channel-tls.c
test-io-task.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
test-iov.c
test-keyval.c
test-logging.c tests: Use &error_abort where appropriate 2020-07-02 06:25:28 +02:00
test-mul64.c
test-opts-visitor.c
test-qapi-util.c
test-qdev-global-props.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
test-qdist.c
test-qemu-opts.c tests: Use &error_abort where appropriate 2020-07-02 06:25:28 +02:00
test-qga.c
test-qgraph.c
test-qht-par.c
test-qht.c
test-qmp-cmds.c qapi: Add feature flags to remaining definitions 2020-03-17 19:58:34 +01:00
test-qmp-event.c tests/test-qmp-event: Check event is actually emitted 2020-03-17 19:58:34 +01:00
test-qobject-input-visitor.c
test-qobject-output-visitor.c qapi: Assert output visitors see only valid enum values 2020-04-30 07:26:09 +02:00
test-rcu-list.c tests: Fix a bug with count variables 2020-03-06 10:35:15 +00:00
test-rcu-simpleq.c
test-rcu-slist.c rcu_queue: add QSLIST functions 2020-02-22 08:26:47 +00:00
test-rcu-tailq.c
test-replication.c tests: Use &error_abort where appropriate 2020-07-02 06:25:28 +02:00
test-shift128.c
test-string-input-visitor.c tests: Use &error_abort where appropriate 2020-07-02 06:25:28 +02:00
test-string-output-visitor.c tests: Use &error_abort where appropriate 2020-07-02 06:25:28 +02:00
test-thread-pool.c
test-throttle.c
test-timed-average.c
test-util-filemonitor.c test-util-filemonitor: Plug unlikely memory leak 2020-07-02 06:25:29 +02:00
test-util-sockets.c tests/util-sockets: add abstract unix socket cases 2020-05-20 10:34:45 +01:00
test-uuid.c
test-visitor-serialization.c
test-vmstate.c test-vmstate: Fix memleaks in test_load_qlist 2020-02-28 09:25:49 +01:00
test-write-threshold.c
test-x86-cpuid.c hw/i386: Update structures to save the number of nodes per package 2020-03-17 19:48:10 -04:00
test-xbzrle.c
vhost-user-bridge.c