|
From: | Anthony Liguori |
Subject: | [Qemu-devel] Re: [RFC][STABLE 0.13] Revert "qcow2: Use bdrv_(p)write_sync for metadata writes" |
Date: | Tue, 24 Aug 2010 08:01:51 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.11) Gecko/20100713 Lightning/1.0b1 Thunderbird/3.0.6 |
On 08/24/2010 05:40 AM, Kevin Wolf wrote:
This reverts commit 8b3b720620a1137a1b794fc3ed64734236f94e06. This fix has caused severe slowdowns on recent kernels that actually do flush when they are told so. Reverting this patch hurts correctness and means that we could get corrupted images in case of a host crash. This means that qcow2 might not be an option for some people without this fix. On the other hand, I get reports that the slowdown is so massive that not reverting it would mean that people can't use it either because it just takes ages to complete stuff. It probably can be fixed, but not in time for 0.13.0. Usually, if there's a possible tradeoff between correctness and performance, I tend to choose correctness, but I'm not so sure in this case. I'm not sure with reverting either, which is why I post this as an RFC only. I hope to get some more comments on how to proceed here for 0.13.
How fundamental of an issue is this? Is this something we think we know how to fix and we just don't think there's time to fix it for 0.13?
And with this fix in place, how much confidence do we have in qcow2 with respect to data integrity on power loss?
We've shipped every version of QEMU since qcow2 was introduced with known data corruptions. It sucks big time. I think it's either that building an image format is a really hard problem akin to making a file system and we shouldn't be in that business or that qcow2 is bad as an image format which makes this all harder than it should be.
Either way, I think we need to look seriously at enabling alternatives (i.e. external snapshots, simple sparse files, etc.).
Regards, Anthony Liguori
Kevin
[Prev in Thread] | Current Thread | [Next in Thread] |