On Tue, Sep 16, 2014 at 03:24:24PM +0100, Stefan Hajnoczi wrote: > 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 <stefa...@redhat.com> > --- > block/Makefile.objs | 2 +- > block/cow.c | 432 > ------------------------------------------- > qapi/block-core.json | 5 +- > qemu-doc.texi | 9 - > qemu-img.texi | 4 +- > qmp-commands.hx | 2 +- > tests/image-fuzzer/runner.py | 5 +- > tests/qemu-iotests/069 | 2 +- > tests/qemu-iotests/072 | 2 +- > tests/qemu-iotests/099 | 2 +- > tests/qemu-iotests/common | 6 - > ui/cocoa.m | 2 +- > 12 files changed, 12 insertions(+), 461 deletions(-) > delete mode 100644 block/cow.c
Applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan
pgpw9B3tbDOh9.pgp
Description: PGP signature