[libvirt] question about qemudDomainMigratePrepare2 of qemu_driver.c from libvirt-0.6.1
Daniel Veillard
veillard at redhat.com
Tue Mar 31 21:36:51 UTC 2009
On Tue, Mar 31, 2009 at 05:29:09PM +0200, Chris Lalancette wrote:
> Daniel P. Berrange wrote:
> > On Tue, Mar 31, 2009 at 10:07:31AM +0200, Gerrit.Slomma at drv-bund.de wrote:
> >> Hello
> >>
> >> I am just curious if the checking of the connection string in qemu_driver.c
> >> from libvirt-0.6.1 in qemudDomainMigratePrepare2 is faulty.
> >> The source is:
> >>
> >> [...]
> >> } else {
> >> /* Check the URI starts with "tcp:". We will escape the
> >> * URI when passing it to the qemu monitor, so bad
> >> * characters in hostname part don't matter.
> >> */
> >> if (!STREQLEN (uri_in, "tcp:", 6)) {
> >> qemudReportError (dconn, NULL, NULL, VIR_ERR_INVALID_ARG,
> >> "%s", _("only tcp URIs are supported for KVM
> >> migrations"));
> >> goto cleanup;
> >> }
> >> [...]
> >>
> >> The second compare-string "tcp:" is only 4 characters long, therefore a
> >> check via strncmp must fail i presumed, i isolated this comparison:
> >
> > Can you try with this patch applied
> >
> > diff -r b5ad7b1c453b src/qemu_driver.c
> > --- a/src/qemu_driver.c Tue Mar 31 14:55:23 2009 +0100
> > +++ b/src/qemu_driver.c Tue Mar 31 15:02:30 2009 +0100
> > @@ -4629,7 +4629,7 @@ qemudDomainMigratePrepare2 (virConnectPt
> > * URI when passing it to the qemu monitor, so bad
> > * characters in hostname part don't matter.
> > */
> > - if (!STREQLEN (uri_in, "tcp:", 6)) {
> > + if (!STRPREFIX (uri_in, "tcp:")) {
> > qemudReportError (dconn, NULL, NULL, VIR_ERR_INVALID_ARG,
> > "%s", _("only tcp URIs are supported for KVM migrations"));
> > goto cleanup;
>
> Yeah, that's the way to fix this. The STREQLEN(uri_in, "tcp:", 6) is a leftover
> from the KVM migration to QEMU migration implementation; in the KVM migration,
> you would use "tcp://", which would be the correct 6 characters, but in the QEMU
> migration implementation, you just use "tcp:". I guess I just forgot to fix
> this up.
ACK, Dan can you apply this too ?
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list