All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Stefan Hajnoczi <stefanha@gmail.com>,
	hch@lst.de, mjt@tls.msk.ru, avi@redhat.com,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: [RFC][STABLE 0.13] Revert "qcow2: Use bdrv_(p)write_sync for metadata writes"
Date: Tue, 24 Aug 2010 14:12:59 +0200	[thread overview]
Message-ID: <4C73B74B.5030105@suse.de> (raw)
In-Reply-To: <4C73B6CE.4070205@redhat.com>

Kevin Wolf wrote:
> Am 24.08.2010 13:56, schrieb Alexander Graf:
>   
>> Kevin Wolf wrote:
>>     
>>> Am 24.08.2010 13:02, schrieb Stefan Hajnoczi:
>>>   
>>>       
>>>> On Tue, Aug 24, 2010 at 11:40 AM, Kevin Wolf <kwolf@redhat.com> 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.
>>>>>       
>>>>>           
>>>> Sometimes an improvement has a side effect and it makes sense to hold
>>>> back the improvement until the side effect can be resolved.  The
>>>> period of time in which users could rely on qcow2 data integrity is
>>>> small to none, I feel reverting the commit makes sense.
>>>>     
>>>>         
>>> Right, that's the vague feeling I have, too.
>>>   
>>>       
>> If we don't think of qcow2 as integer format, why don't we just default
>> to cache=unsafe there then? That way you could keep all the syncs in
>> place making it stable with cache=!unsafe, but the default for users
>> would be fast albeit unsafe, which it already is.
>>     
>
> Well, safety is not boolean. Considering to make it mostly safe instead
> of completely safe because of the performance doesn't mean that we
> should make it completely unsafe.
>   

What is safety then? A vague feeling of "oh today is monday so my data
is safe, but on tuesday I always lose my image data"? Either we promise
to keep data safe or we don't. There is no in between.

> That said, what we should do is changing the cache mode to unsafe in
> certain places in qemu-img, e.g. in convert for the destination image.
> If it fails, you'll throw it away anyway.
>   

That would be useful either way.


Alex

  reply	other threads:[~2010-08-24 12:13 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-24 10:40 [Qemu-devel] [RFC][STABLE 0.13] Revert "qcow2: Use bdrv_(p)write_sync for metadata writes" Kevin Wolf
2010-08-24 11:02 ` [Qemu-devel] " Stefan Hajnoczi
2010-08-24 11:06   ` Michael Tokarev
2010-08-24 11:40   ` Kevin Wolf
2010-08-24 11:56     ` Alexander Graf
2010-08-24 12:10       ` Kevin Wolf
2010-08-24 12:12         ` Alexander Graf [this message]
2010-08-24 12:18           ` Avi Kivity
2010-08-24 12:21             ` Alexander Graf
2010-08-24 12:27               ` Avi Kivity
2010-08-24 12:35                 ` Kevin Wolf
2010-08-24 12:39                   ` Avi Kivity
2010-08-24 12:53                     ` Kevin Wolf
2010-08-24 12:21     ` Stefan Hajnoczi
2010-08-24 12:23       ` Michael Tokarev
2010-08-24 12:48 ` Juan Quintela
2010-08-24 13:01 ` Anthony Liguori
2010-08-24 13:16   ` Kevin Wolf
2010-08-24 13:29     ` Anthony Liguori
2010-08-24 13:31       ` Avi Kivity
2010-08-24 13:35         ` Anthony Liguori
2010-08-24 13:39           ` Avi Kivity
2010-08-24 13:40             ` Anthony Liguori
2010-08-24 13:44               ` Avi Kivity
2010-08-24 13:56                 ` Anthony Liguori
2010-08-25  7:14                   ` Avi Kivity
2010-08-25 12:46                     ` Anthony Liguori
2010-08-25 13:07                       ` Avi Kivity
2010-08-25 13:37                         ` Anthony Liguori
2010-08-25 13:23                       ` Avi Kivity
2010-08-25 13:42                         ` Anthony Liguori
2010-08-25 14:00                           ` Avi Kivity
2010-08-25 14:14                             ` Anthony Liguori
2010-08-25 14:36                               ` Avi Kivity
2010-08-25 15:06                                 ` Anthony Liguori
2010-08-25 15:15                                   ` Avi Kivity
2010-08-25 15:21                                     ` Anthony Liguori
2010-08-25 13:46                         ` Anthony Liguori
2010-08-25 14:03                           ` Avi Kivity
2010-08-25 14:19                           ` Christoph Hellwig
2010-08-25 14:37                             ` Avi Kivity
2010-08-25 14:18                         ` Christoph Hellwig
2010-08-25 14:26                           ` Anthony Liguori
2010-08-25 14:49                             ` Daniel P. Berrange

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C73B74B.5030105@suse.de \
    --to=agraf@suse.de \
    --cc=avi@redhat.com \
    --cc=hch@lst.de \
    --cc=kwolf@redhat.com \
    --cc=mjt@tls.msk.ru \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.