mirror_qemu/tests
Stefan Hajnoczi 550830f935 block: delete cow block driver
This patch removes support for the cow file format.

Normally we do not break backwards compatibility but in this case there
is no impact and it is the most logical option.  Extraordinary claims
require extraordinary evidence so I will show why removing the cow block
driver is the right thing to do.

The cow file format is the disk image format for Usermode Linux, a way
of running a Linux system in userspace.  The performance of UML was
never great and it was hacky, but it enjoyed some popularity before
hardware virtualization support became mainstream.

QEMU's block/cow.c is supposed to read this image file format.
Unfortunately the file format was underspecified:

1. Earlier Linux versions used the MAXPATHLEN constant for the backing
   filename field.  The value of MAXPATHLEN can change, so Linux
   switched to a 4096 literal but QEMU has a 1024 literal.

2. Padding was not used on the header struct (both in the Linux kernel
   and in QEMU) so the struct layout varied across architectures.  In
   particular, i386 and x86_64 were different due to int64_t alignment
   differences.  Linux now uses __attribute__((packed)), QEMU does not.

Therefore:

1. QEMU cow images do not conform to the Linux cow image file format.

2. cow images cannot be shared between different host architectures.

This means QEMU cow images are useless and QEMU has not had bug reports
from users actually hitting these issues.

Let's get rid of this thing, it serves no purpose and no one will be
affected.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-id: 1410877464-20481-1-git-send-email-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-09-22 11:39:45 +01:00
..
acpi-test-data acpi-dsdt: procedurally generate _PRT 2014-07-28 23:02:39 +02:00
image-fuzzer block: delete cow block driver 2014-09-22 11:39:45 +01:00
libqos ahci: add test_pci_enable to ahci-test. 2014-09-22 11:39:40 +01:00
multiboot tests: Multiboot mmap test case 2013-10-28 17:34:42 +01:00
qapi-schema qapi script: clean up in scripts 2014-06-27 09:27:56 -04:00
qemu-iotests block: delete cow block driver 2014-09-22 11:39:45 +01:00
tcg Xtensa fixes queue 2014-05-26: 2014-05-28 14:47:35 +01:00
vmstate-static-checker-data tests: vmstate static checker: add size mismatch inside substructure 2014-06-23 19:14:52 +02:00
.gitignore tests/.gitignore: Ignore test-rfifolock 2014-04-27 13:04:18 +04:00
Makefile ahci: Adding basic functionality qtest. 2014-09-22 11:39:38 +01:00
ac97-test.c tests: Add ac97 qtest 2014-05-05 20:58:33 +02:00
ahci-test.c ahci: Add test_identify case to ahci-test. 2014-09-22 11:39:43 +01:00
bios-tables-test.c tests/bios-tables-test: check the value returned by fopen() 2014-08-24 13:16:32 +04:00
blockdev-test.c blockdev-test: add test case for drive_add duplicate IDs 2013-11-07 13:58:58 +01:00
boot-order-test.c qtest: Use -display none by default 2013-11-19 10:28:14 +01:00
check-block.sh Add 'make check-block' 2012-03-12 15:14:07 +01:00
check-qdict.c check-qdict: Add test for qdict_join() 2014-05-19 11:36:48 +02:00
check-qfloat.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qint.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qjson.c json-lexer: fix escaped backslash in single-quoted string 2014-06-23 11:01:24 -04:00
check-qlist.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
check-qom-interface.c tests: Test QOM interface casting 2013-12-24 17:27:17 +01:00
check-qstring.c qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
display-vga-test.c add secondary-vga to display-vga test 2014-04-28 11:03:39 +02:00
e1000-test.c e1000: remove broken support for 82573L 2014-06-09 15:38:58 +02:00
eepro100-test.c tests: Add eepro100 qtest 2014-02-14 16:22:33 +01:00
endianness-test.c qtest: Include system headers before user headers 2014-02-17 23:10:02 +01:00
es1370-test.c tests: Add es1370 qtest 2014-05-05 20:58:33 +02:00
fdc-test.c tests: Add missing 'static' attributes (fix warnings from smatch) 2014-07-18 17:45:37 +04:00
fw_cfg-test.c qtest: Include system headers before user headers 2014-02-17 23:10:02 +01:00
hd-geo-test.c qtest: Use -display none by default 2013-11-19 10:28:14 +01:00
i440fx-test.c QOM infrastructure fixes and device conversions 2014-02-20 13:05:48 +00:00
i82801b11-test.c tests: Add i82801b11 qtest 2014-03-31 22:36:17 +02:00
ide-test.c qtest/ide: Uninitialize PC allocator 2014-09-08 11:12:43 +01:00
intel-hda-test.c tests: Add intel-hda qtests 2014-05-05 20:58:33 +02:00
ioh3420-test.c tests: Add ioh3420 qtest 2014-05-05 20:58:33 +02:00
ipoctal232-test.c tests: Add ipoctal232 qtest 2014-02-14 21:07:13 +01:00
libqtest.c tests: Add virtio device initialization 2014-09-08 11:12:43 +01:00
libqtest.h tests: Add virtio device initialization 2014-09-08 11:12:43 +01:00
m48t59-test.c qtest: Include system headers before user headers 2014-02-17 23:10:02 +01:00
ne2000-test.c tests: Add ne2000 qtest 2014-02-14 20:50:19 +01:00
nvme-test.c tests: Add nvme qtest 2014-03-31 22:35:03 +02:00
pcnet-test.c tests: Add pcnet qtest 2014-02-14 16:22:33 +01:00
pvpanic-test.c pvpanic-test: Assert pause event 2014-03-31 22:36:17 +02:00
qdev-monitor-test.c qdev-monitor-test: Don't test human-readable error message 2014-03-12 20:13:02 +01:00
qemu-iotests-quick.sh iotests: Simplify qemu-iotests-quick.sh 2014-07-01 10:15:33 +02:00
qom-test.c libqtest: escape strings in QMP commands, fix leak 2014-07-01 10:20:41 +02:00
rtc-test.c qtest: Include system headers before user headers 2014-02-17 23:10:02 +01:00
rtl8139-test.c tests: Add rtl8139 qtest 2014-02-14 16:22:33 +01:00
spapr-phb-test.c tests: Add spapr-pci-host-bridge qtest 2014-03-13 01:21:57 +01:00
test-aio.c test-aio: test timers on Windows too 2014-08-29 10:46:58 +01:00
test-bitops.c tests: fix 64-bit int literals for 32-bit hosts 2013-11-05 19:59:43 -08:00
test-coroutine.c test-coroutine: test cost introduced by coroutine 2014-08-20 11:51:28 +02:00
test-cutils.c cutils: unsigned int parsing functions 2013-02-04 14:38:33 -06:00
test-hbitmap.c hbitmap: add assertion on hbitmap_iter_init 2013-01-25 18:18:35 +01:00
test-int128.c tests/test-int128: Don't use __noclone__ attribute on clang 2014-03-02 17:20:37 +04:00
test-iov.c test-iov: add iov_discard_front/back() testcases 2013-01-02 15:58:09 +01:00
test-mul64.c tests: Add unit tests for mulu64 and muls64 2013-02-17 14:28:58 +00:00
test-opts-visitor.c tests: fix 64-bit int literals for 32-bit hosts 2013-11-05 19:59:43 -08:00
test-qdev-global-props.c qdev: Move global validation to a single function 2014-09-18 21:51:24 +03:00
test-qemu-opts.c tests: Add missing 'static' attributes (fix warnings from smatch) 2014-07-18 17:45:37 +04:00
test-qmp-commands.c tests: test-qmp-commands: Fix double free 2014-03-11 09:07:42 -04:00
test-qmp-event.c tests/test-qmp-event: fix for GLib < 2.31 2014-06-30 15:06:11 +02:00
test-qmp-input-strict.c qapi: Replace uncommon use of the error API by the common one 2014-05-15 14:00:46 -04:00
test-qmp-input-visitor.c qapi: Replace uncommon use of the error API by the common one 2014-05-15 14:00:46 -04:00
test-qmp-output-visitor.c tests: Check empty QMP output visitor 2014-05-28 17:36:09 +02:00
test-rfifolock.c rfifolock: add recursive FIFO lock 2014-03-13 14:42:21 +01:00
test-string-input-visitor.c tests: simplify code 2014-06-19 18:44:22 +03:00
test-string-output-visitor.c tests: Fix unterminated string output visitor enum human string 2014-07-14 12:03:20 +02:00
test-thread-pool.c thread-pool: Convert thread_pool_aiocb_info.cancel to cancel_async 2014-09-22 11:39:02 +01:00
test-throttle.c tests: Add missing 'static' attributes (fix warnings from smatch) 2014-07-18 17:45:37 +04:00
test-visitor-serialization.c tests: Add missing 'static' attributes (fix warnings from smatch) 2014-07-18 17:45:37 +04:00
test-vmstate.c tests: Add missing 'static' attributes (fix warnings from smatch) 2014-07-18 17:45:37 +04:00
test-x86-cpuid.c target-i386: Topology & APIC ID utility functions 2013-01-27 14:34:27 +01:00
test-xbzrle.c Add XBZRLE testing 2013-02-01 08:32:20 +01:00
tmp105-test.c libqtest: escape strings in QMP commands, fix leak 2014-07-01 10:20:41 +02:00
tpci200-test.c tests: Add tpci200 qtest 2014-02-14 21:02:27 +01:00
usb-hcd-ehci-test.c libqos: allow qpci_iomap to return BAR mapping size 2014-08-15 18:03:13 +01:00
usb-hcd-ohci-test.c tests: add OHCI qtest 2014-08-29 12:53:47 +02:00
usb-hcd-uhci-test.c tests: add UHCI qtest 2014-08-29 12:53:47 +02:00
usb-hcd-xhci-test.c tests: add xHCI qtest 2014-08-29 12:53:47 +02:00
vhost-user-test.c qtest: Adapt vhost-user-test to latest vhost-user changes 2014-07-18 02:14:15 +03:00
virtio-9p-test.c tests: Add virtio-9p qtest 2014-03-31 22:35:50 +02:00
virtio-balloon-test.c tests: Add virtio-balloon qtest 2014-03-13 01:21:56 +01:00
virtio-blk-test.c libqos: Added EVENT_IDX support 2014-09-08 11:12:43 +01:00
virtio-console-test.c virtio-console-test: Test virtserialport as well 2014-03-13 21:12:07 +01:00
virtio-net-test.c tests: Add virtio-net qtest 2014-02-14 21:01:03 +01:00
virtio-rng-test.c tests: Add virtio-rng qtest 2014-03-13 01:21:56 +01:00
virtio-scsi-test.c tests: Add virtio-scsi qtest 2014-03-13 01:21:56 +01:00
virtio-serial-test.c tests: Add virtio-serial qtest 2014-03-13 01:21:57 +01:00
vmxnet3-test.c tests: Add vmxnet3 qtest 2014-02-14 16:22:33 +01:00
wdt_ib700-test.c qtest: new test for wdt_ib700 2014-07-18 14:57:35 +02:00