[libvirt] [PATCH v3 2/2] qemu: adding domainGetHostname support for QEMU.

Julio Faracco jcfaracco at gmail.com
Sat Sep 1 22:27:46 UTC 2018


Thanks for your review @John.
I will wait for 4.8.0 to push all changes in one shot (including news.xml).

Julio Cesar Faracco
Em qua, 29 de ago de 2018 às 17:15, John Ferlan <jferlan at redhat.com> escreveu:
>
>
>
> On 08/21/2018 10:39 PM, Julio Faracco wrote:
> > This commit add the support to use the function qemuAgentGetHostname()
>
> s/add the/adds/
>
> > for obtain the domain hostname using QEMU-GA command.
>
> s/for/to/
>
> >
> > Signed-off-by: Julio Faracco <jcfaracco at gmail.com>
> > ---
> >  src/qemu/qemu_driver.c | 40 ++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 40 insertions(+)
> >
> > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> > index 21e9e87ddd..5f53cbea15 100644
> > --- a/src/qemu/qemu_driver.c
> > +++ b/src/qemu/qemu_driver.c
> > @@ -19351,6 +19351,45 @@ qemuConnectGetCPUModelNames(virConnectPtr conn,
> >      return virCPUGetModels(arch, models);
> >  }
> >
>
> Nit - we prefer 2 blank lines between functions for new code.
>
> > +static char *
> > +qemuDomainGetHostname(virDomainPtr dom,
> > +                      unsigned int flags)
> > +{
> > +    virQEMUDriverPtr driver = dom->conn->privateData;
> > +    virDomainObjPtr vm = NULL;
> > +    qemuAgentPtr agent;
> > +    char *hostname = NULL;
> > +
> > +    virCheckFlags(0, NULL);
> > +
> > +    if (!(vm = qemuDomObjFromDomain(dom)))
> > +        return NULL;
> > +
> > +    if (virDomainGetHostnameEnsureACL(dom->conn, vm->def) < 0)
> > +        goto cleanup;
> > +
> > +    if (qemuDomainObjBeginAgentJob(driver, vm, QEMU_AGENT_JOB_QUERY) < 0)
> > +        goto cleanup;
> > +
> > +    if (virDomainObjCheckActive(vm) < 0)
> > +        goto endjob;
> > +
> > +    if (!qemuDomainAgentAvailable(vm, true))
> > +        goto endjob;
> > +
> > +    agent = qemuDomainObjEnterAgent(vm);
> > +    ignore_value(qemuAgentGetHostname(agent, &hostname));
> > +    qemuDomainObjExitAgent(vm, agent);
> > +
> > + endjob:
> > +    qemuDomainObjEndAgentJob(vm);
> > +
> > + cleanup:
> > +    virDomainObjEndAPI(&vm);
> > +    return hostname;
> > +}
> > +
> > +
>
> Ironically the 2 blanks lines were done here ;-)
>
> >  static int
> >  qemuDomainGetTime(virDomainPtr dom,
> >                    long long *seconds,
> > @@ -21955,6 +21994,7 @@ static virHypervisorDriver qemuHypervisorDriver = {
> >      .connectGetCPUModelNames = qemuConnectGetCPUModelNames, /* 1.1.3 */
> >      .domainFSFreeze = qemuDomainFSFreeze, /* 1.2.5 */
> >      .domainFSThaw = qemuDomainFSThaw, /* 1.2.5 */
> > +    .domainGetHostname = qemuDomainGetHostname, /* 4.7.0 */
>
> This'll be 4.8.0.
>
> Again, simple enough for me to adjust before pushing once 4.8.0 opens.
>
> You'll still need to post the news.xml changes once it opens and maybe
> you can work up patches to work through those things I pointed out in
> the review of patch 1.
>
>     Reviewed-by: John Ferlan <jferlan at redhat.com>
>
> John
>
> >      .domainGetTime = qemuDomainGetTime, /* 1.2.5 */
> >      .domainSetTime = qemuDomainSetTime, /* 1.2.5 */
> >      .nodeGetFreePages = qemuNodeGetFreePages, /* 1.2.6 */
> >




More information about the libvir-list mailing list