kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Lucas Meneghel Rodrigues <lmr@redhat.com>,
	KVM mailing list <kvm@vger.kernel.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	QEMU devel <qemu-devel@nongnu.org>,
	Juan Jose Quintela Carreira <quintela@redhat.com>,
	Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] qemu and qemu.git -> Migration + disk stress introduces qcow2 corruptions
Date: Fri, 11 Nov 2011 08:35:45 -0600	[thread overview]
Message-ID: <4EBD32C1.6000805@codemonkey.ws> (raw)
In-Reply-To: <4EBD3145.3050409@redhat.com>

On 11/11/2011 08:29 AM, Kevin Wolf wrote:
> Am 11.11.2011 15:03, schrieb Anthony Liguori:
>> On 11/11/2011 04:15 AM, Kevin Wolf wrote:
>>> Am 10.11.2011 22:30, schrieb Anthony Liguori:
>>>> Live migration with qcow2 or any other image format is just not going to work
>>>> right now even with proper clustered storage.  I think doing a block level flush
>>>> cache interface and letting block devices decide how to do it is the best approach.
>>>
>>> I would really prefer reusing the existing open/close code. It means
>>> less (duplicated) code, is existing code that is well tested and doesn't
>>> make migration much of a special case.
>>
>> Just to be clear, reopen only addresses image format migration.  It does not
>> address NFS migration since it doesn't guarantee close-to-open semantics.
>
> Yes. But image formats are the only thing that is really completely
> broken today. For NFS etc. we can tell users to use
> cache=none/directsync and they will be good. There is no such option
> that makes image formats safe.
>
>> The problem I have with the reopen patches are that they introduce regressions
>> and change at semantics for a management tool.  If you look at the libvirt
>> workflow with encrypted disks, it would break with the reopen patches.
>
> Yes, this is nasty. But on the other hand: Today migration is broken for
> all qcow2 images, with the reopen it's only broken for encrypted ones.
> Certainly an improvement, even though there's still a bug left.

This sounds like a good thing to work through in the next release.

>
>>> If you want to avoid reopening the file on the OS level, we can reopen
>>> only the topmost layer (i.e. the format, but not the protocol) for now
>>> and in 1.1 we can use bdrv_reopen().
>>
>> I don't view not supporting migration with image formats as a regression as it's
>> never been a feature we've supported.  While there might be confusion about
>> support around NFS, I think it's always been clear that image formats cannot be
>> used.
>>
>> Given that, I don't think this is a candidate for 1.0.
>
> Nobody says it's a regression, but it's a bad bug and you're blocking a
> solution for it for over a year now because the solution isn't perfect
> enough in your eyes. :-(

This patch was posted a year ago.  Feedback was provided and there was never any 
follow up[1].  I've never Nack'd this approach.  I can't see how I was blocking 
this since I never even responded in the thread.  If this came in before soft 
freeze, I wouldn't have objected if you wanted to go in this direction.

This is not a bug fix, this is a new feature.  We're long past feature freeze. 
It's not a simple and obvious fix either.  It only partially fixes the problem 
and introduces other problems.  It's not a good candidate for making an 
exception at this stage in the release.

[1] http://mid.gmane.org/cover.1294150511.git.quintela@redhat.com

Regards,

Anthony Liguori

>
> Kevin
>


  reply	other threads:[~2011-11-11 14:35 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-09 16:29 qemu and qemu.git -> Migration + disk stress introduces qcow2 corruptions Lucas Meneghel Rodrigues
2011-11-09 16:39 ` Anthony Liguori
2011-11-09 17:02   ` [Qemu-devel] " Avi Kivity
2011-11-09 17:35     ` Anthony Liguori
2011-11-09 19:53       ` Juan Quintela
2011-11-09 20:18       ` Michael S. Tsirkin
2011-11-09 20:22         ` [Qemu-devel] " Anthony Liguori
2011-11-09 21:00           ` Michael S. Tsirkin
2011-11-09 21:01             ` Anthony Liguori
2011-11-10 10:41               ` [Qemu-devel] " Kevin Wolf
2011-11-10 16:50                 ` Juan Quintela
2011-11-10 17:59                   ` Anthony Liguori
2011-11-10 18:00                 ` [Qemu-devel] " Anthony Liguori
2011-11-09 20:57         ` Juan Quintela
2011-11-10  8:55       ` [Qemu-devel] " Avi Kivity
2011-11-10 17:50         ` Juan Quintela
2011-11-10 17:54         ` Anthony Liguori
2011-11-12 10:20           ` Avi Kivity
2011-11-12 13:30             ` Anthony Liguori
2011-11-12 14:36               ` Avi Kivity
2011-11-10 18:27         ` [Qemu-devel] " Anthony Liguori
2011-11-10 18:42           ` Daniel P. Berrange
2011-11-10 19:11             ` [Qemu-devel] " Anthony Liguori
2011-11-10 20:06               ` Daniel P. Berrange
2011-11-10 20:07                 ` Anthony Liguori
2011-11-10 21:30           ` Anthony Liguori
2011-11-11 10:15             ` Kevin Wolf
2011-11-11 14:03               ` [Qemu-devel] " Anthony Liguori
2011-11-11 14:29                 ` Kevin Wolf
2011-11-11 14:35                   ` Anthony Liguori [this message]
2011-11-11 14:44                     ` Kevin Wolf
2011-11-11 20:38                       ` Anthony Liguori
2011-11-12 10:27                 ` Avi Kivity
2011-11-12 13:39                   ` Anthony Liguori
2011-11-12 14:43                     ` Avi Kivity
2011-11-12 16:01                       ` Anthony Liguori
2011-11-12 10:25               ` Avi Kivity
2011-11-14  9:58                 ` Kevin Wolf
2011-11-14 10:10                   ` Michael S. Tsirkin
2011-11-15 13:28                   ` [Qemu-devel] " Avi Kivity
2011-11-14 10:16                 ` Daniel P. Berrange
2011-11-14 10:24                   ` Michael S. Tsirkin
2011-11-14 11:08                     ` Daniel P. Berrange
2011-11-14 11:21                       ` Kevin Wolf
2011-11-14 11:29                         ` [Qemu-devel] " Daniel P. Berrange
2011-11-14 11:34                           ` Michael S. Tsirkin
2011-11-14 11:37                             ` Daniel P. Berrange
2011-11-14 11:51                               ` Michael S. Tsirkin
2011-11-14 11:55                                 ` Daniel P. Berrange
2011-11-14 11:56                               ` Michael S. Tsirkin
2011-11-14 11:58                                 ` [Qemu-devel] " Daniel P. Berrange
2011-11-14 12:17                                   ` Michael S. Tsirkin
2011-11-14 11:36                           ` Gleb Natapov
2011-11-14 11:32                       ` Michael S. Tsirkin
2011-11-14 14:19                   ` Anthony Liguori
2011-11-15 13:20                     ` Juan Quintela
2011-11-15 13:56                       ` [Qemu-devel] " Anthony Liguori
2011-11-09 19:25 ` Juan Quintela
2011-11-09 23:33   ` Lucas Meneghel Rodrigues

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=4EBD32C1.6000805@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=lmr@redhat.com \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).