All of lore.kernel.org
 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: 102+ 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:29 ` [Qemu-devel] " Lucas Meneghel Rodrigues
2011-11-09 16:39 ` Anthony Liguori
2011-11-09 16:39   ` [Qemu-devel] " Anthony Liguori
2011-11-09 17:02   ` Avi Kivity
2011-11-09 17:02     ` Avi Kivity
2011-11-09 17:35     ` Anthony Liguori
2011-11-09 17:35       ` [Qemu-devel] " Anthony Liguori
2011-11-09 19:53       ` Juan Quintela
2011-11-09 19:53         ` [Qemu-devel] " Juan Quintela
2011-11-09 20:18       ` Michael S. Tsirkin
2011-11-09 20:18         ` [Qemu-devel] " Michael S. Tsirkin
2011-11-09 20:22         ` Anthony Liguori
2011-11-09 21:00           ` Michael S. Tsirkin
2011-11-09 21:00             ` [Qemu-devel] " Michael S. Tsirkin
2011-11-09 21:01             ` Anthony Liguori
2011-11-09 21:01               ` [Qemu-devel] " Anthony Liguori
2011-11-10 10:41               ` Kevin Wolf
2011-11-10 10:41                 ` Kevin Wolf
2011-11-10 16:50                 ` Juan Quintela
2011-11-10 16:50                   ` [Qemu-devel] " Juan Quintela
2011-11-10 17:59                   ` Anthony Liguori
2011-11-10 17:59                     ` [Qemu-devel] " Anthony Liguori
2011-11-10 18:00                 ` Anthony Liguori
2011-11-10 18:00                   ` Anthony Liguori
2011-11-09 20:57         ` Juan Quintela
2011-11-09 20:57           ` [Qemu-devel] " Juan Quintela
2011-11-10  8:55       ` Avi Kivity
2011-11-10 17:50         ` Juan Quintela
2011-11-10 17:50           ` [Qemu-devel] " Juan Quintela
2011-11-10 17:54         ` Anthony Liguori
2011-11-10 17:54           ` [Qemu-devel] " Anthony Liguori
2011-11-12 10:20           ` Avi Kivity
2011-11-12 10:20             ` [Qemu-devel] " Avi Kivity
2011-11-12 13:30             ` Anthony Liguori
2011-11-12 13:30               ` [Qemu-devel] " Anthony Liguori
2011-11-12 14:36               ` Avi Kivity
2011-11-12 14:36                 ` [Qemu-devel] " Avi Kivity
2011-11-10 18:27         ` Anthony Liguori
2011-11-10 18:27           ` Anthony Liguori
2011-11-10 18:42           ` Daniel P. Berrange
2011-11-10 18:42             ` [Qemu-devel] " Daniel P. Berrange
2011-11-10 19:11             ` 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-10 21:30             ` Anthony Liguori
2011-11-11 10:15             ` Kevin Wolf
2011-11-11 10:15               ` [Qemu-devel] " Kevin Wolf
2011-11-11 14:03               ` 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-12 10:25                 ` Avi Kivity
2011-11-14  9:58                 ` Kevin Wolf
2011-11-14  9:58                   ` Kevin Wolf
2011-11-14 10:10                   ` Michael S. Tsirkin
2011-11-14 10:10                     ` [Qemu-devel] " Michael S. Tsirkin
2011-11-15 13:28                   ` Avi Kivity
2011-11-15 13:28                     ` Avi Kivity
2011-11-14 10:16                 ` Daniel P. Berrange
2011-11-14 10:16                   ` Daniel P. Berrange
2011-11-14 10:24                   ` Michael S. Tsirkin
2011-11-14 10:24                     ` Michael S. Tsirkin
2011-11-14 11:08                     ` Daniel P. Berrange
2011-11-14 11:08                       ` Daniel P. Berrange
2011-11-14 11:21                       ` Kevin Wolf
2011-11-14 11:21                         ` [Qemu-devel] " Kevin Wolf
2011-11-14 11:29                         ` Daniel P. Berrange
2011-11-14 11:29                           ` Daniel P. Berrange
2011-11-14 11:34                           ` Michael S. Tsirkin
2011-11-14 11:34                             ` Michael S. Tsirkin
2011-11-14 11:37                             ` Daniel P. Berrange
2011-11-14 11:37                               ` Daniel P. Berrange
2011-11-14 11:51                               ` Michael S. Tsirkin
2011-11-14 11:51                                 ` Michael S. Tsirkin
2011-11-14 11:55                                 ` Daniel P. Berrange
2011-11-14 11:55                                   ` Daniel P. Berrange
2011-11-14 11:56                               ` Michael S. Tsirkin
2011-11-14 11:56                                 ` [Qemu-devel] " Michael S. Tsirkin
2011-11-14 11:58                                 ` Daniel P. Berrange
2011-11-14 11:58                                   ` Daniel P. Berrange
2011-11-14 12:17                                   ` Michael S. Tsirkin
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 11:32                         ` Michael S. Tsirkin
2011-11-14 14:19                   ` Anthony Liguori
2011-11-14 14:19                     ` Anthony Liguori
2011-11-15 13:20                     ` Juan Quintela
2011-11-15 13:20                       ` [Qemu-devel] " Juan Quintela
2011-11-15 13:56                       ` Anthony Liguori
2011-11-09 19:25 ` Juan Quintela
2011-11-09 19:25   ` [Qemu-devel] " Juan Quintela
2011-11-09 23:33   ` Lucas Meneghel Rodrigues
2011-11-09 23:33     ` [Qemu-devel] " 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 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.