All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Max Reitz <mreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>
Cc: Ciprian Barbu <Ciprian.Barbu@enea.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	pkrempa@redhat.com,
	Alexandru Avadanii <Alexandru.Avadanii@enea.com>,
	Jeff Cody <jcody@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	svc-armband <armband@enea.com>
Subject: Re: [Qemu-devel] nbd: Possible regression in 2.9 RCs
Date: Mon, 3 Apr 2017 14:44:47 -0500	[thread overview]
Message-ID: <4d684062-be31-153e-3f94-b1193440c8e3@redhat.com> (raw)
In-Reply-To: <33ced3d3-acd7-2945-518d-465a4621b151@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2498 bytes --]

On 04/03/2017 07:39 AM, Max Reitz wrote:
>>> As for just allowing the NBD server write access to the device... To me
>>> that appears pretty difficult from an implementation perspective. We
>>> assert that nobody can write without having requested write access and
>>> we make sure that nobody can request write access without it being
>>> allowed. Making an exception for NBD seems very difficult and would
>>> probably mean we'd have to drop the assertion for write accesses altogether.
>>
>> Making an exception would simply be wrong.
> 
> Indeed. That is why it would be so difficult.
> 
> The question remains whether it is practical not to make an exception.
> As far as I know, libvirt is only guaranteed to support older qemu
> versions, not necessarily future ones. So we should be allowed to break
> existing use cases here until libvirt is updated (assuming it is
> possible for libvirt to express "guest device allows shared writes" as
> an option for its next release).

In general, we support:

old qemu, old libvirt (well, as long as those versions are supported)
old qemu, new libvirt
new qemu, new libvirt

but we do NOT make any guarantees of supporting

new qemu, old libvirt

In other words, this may be a failure where new qemu requires extra care
and thus a new libvirt for it to be useful.  It's not nice to break qemu
back-compat if any other solution is possible (new qemu and old libvirt
should work more often than not), but it is the one scenario that no one
supports (whether here, upstream libvirt, or in downstream backports).

Or, put another way, it's perfectly fine if we require that the use of
qemu 2.9 requires that you also use libvirt 3.3.0 or newer (since we
missed the boat on fixing libvirt 3.2 to pass shared-rw or any other
handshaking we come up with), although it's also nice if we figure out
how to make qemu work with what existing libvirt wants to do (the NBD
export needs to be writable by the source pre-migration, and by the
destination post-migration; so there is that aspect of two clients both
wanting to write - but the destination doesn't need to write until after
the source no longer has anything to write, so if we have a clean way to
turn writes off for the source, then turn writes on for the destination,
all before migrating which host is writing, that would be even cleaner).

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

  parent reply	other threads:[~2017-04-03 19:45 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-31 16:03 [Qemu-devel] nbd: Possible regression in 2.9 RCs Ciprian Barbu
2017-03-31 17:32 ` Ciprian Barbu
2017-03-31 17:36   ` Ciprian Barbu
2017-03-31 17:43 ` Max Reitz
2017-03-31 17:49   ` Ciprian Barbu
2017-03-31 17:57     ` Max Reitz
2017-03-31 19:07       ` Alexandru Avadanii
2017-04-03 18:52     ` Kashyap Chamarthy
2017-04-04  8:07       ` ciprian.barbu
2017-04-03  8:15   ` Kevin Wolf
2017-04-03 12:39     ` Max Reitz
2017-04-03 13:00       ` Kevin Wolf
2017-04-03 13:50         ` Peter Krempa
2017-04-04 12:16           ` Kevin Wolf
2017-04-04 13:51             ` Eric Blake
2017-04-04 14:04             ` Paolo Bonzini
2017-04-04 14:53               ` Kevin Wolf
2017-04-04 15:09                 ` Paolo Bonzini
2017-04-05 11:01                   ` Kevin Wolf
2017-04-05 21:13                     ` Paolo Bonzini
2017-04-06  8:48                       ` Kevin Wolf
2017-04-06  9:03                         ` Kevin Wolf
2017-04-03 19:48         ` Eric Blake
2017-04-03 19:44       ` Eric Blake [this message]
2017-04-04  8:17         ` ciprian.barbu
2017-04-04 11:00           ` Paolo Bonzini
2017-04-04 11:14             ` Daniel P. Berrange
2017-04-03 12:51     ` Peter Krempa
2017-04-04 13:19       ` Kevin Wolf
2017-04-04 13:27         ` Peter Krempa
2017-04-04 13:54           ` Kevin Wolf

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=4d684062-be31-153e-3f94-b1193440c8e3@redhat.com \
    --to=eblake@redhat.com \
    --cc=Alexandru.Avadanii@enea.com \
    --cc=Ciprian.Barbu@enea.com \
    --cc=armband@enea.com \
    --cc=armbru@redhat.com \
    --cc=jcody@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=pkrempa@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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.