qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] block: delete cow block driver


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH] block: delete cow block driver
Date: Tue, 16 Sep 2014 17:56:59 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Stefan Hajnoczi <address@hidden> writes:

> 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 <address@hidden>

Reviewed-by: Markus Armbruster <address@hidden>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]