[libvirt PATCH 6/9] qemu: Allow NBD migration over UNIX socket
Jiri Denemark
jdenemar at redhat.com
Tue Aug 25 16:01:28 UTC 2020
On Tue, Aug 25, 2020 at 16:28:12 +0100, Daniel P. Berrangé wrote:
> On Tue, Aug 25, 2020 at 07:47:12AM +0200, Martin Kletzander wrote:
> > Adds new typed param for migration and uses this as a UNIX socket path that
> > should be used for the NBD part of migration. And also adds virsh support.
> >
> > Partially resolves: https://bugzilla.redhat.com/1638889
> >
> > Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> > ---
> > docs/manpages/virsh.rst | 8 +++
> > include/libvirt/libvirt-domain.h | 12 ++++
> > src/qemu/qemu_domain.h | 1 +
> > src/qemu/qemu_driver.c | 33 ++++++++--
> > src/qemu/qemu_migration.c | 110 ++++++++++++++++++++++---------
> > src/qemu/qemu_migration.h | 3 +
> > src/qemu/qemu_migration_cookie.c | 22 +++++--
> > src/qemu/qemu_migration_cookie.h | 1 +
> > tools/virsh-domain.c | 12 ++++
> > 9 files changed, 160 insertions(+), 42 deletions(-)
> >
> > diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
> > index 9187037a5615..75f475eea6ad 100644
> > --- a/docs/manpages/virsh.rst
> > +++ b/docs/manpages/virsh.rst
> > @@ -3113,6 +3113,7 @@ migrate
> > [--postcopy-bandwidth bandwidth]
> > [--parallel [--parallel-connections connections]]
> > [--bandwidth bandwidth] [--tls-destination hostname]
> > + [--disks-socket socket-path]
>
> For the primary migration connection we have a proper URI, so we can
> support new schemes without adding new parameters for each one.
>
> For the NBD connetion we have the "disk port" parameter only, not a
> full URI.
>
> Adding "disks socket" makes this design mistake worse.
>
> IMHO we should add a "disks uri" accepting the exact same syntax
> as the migration URI.
Oh yeah, thanks for mentioning this. I originally thought about generic
disks-uri too, but forgot about it when getting back to the review after
lunch :-/
Just beware the migration URI is basically passed through to QEMU, while
we use nbd or nbd+unix URIs for disks when talking to QEMU and we should
not use these in the API. Just tcp:// or unix:// and translate them to
the correct QEMU nbd URI internally.
Jirka
More information about the libvir-list
mailing list