[libvirt] [PATCH v5 1/3] add new virDomainCoreDumpWithFormat API

Martin Kletzander mkletzan at redhat.com
Thu Mar 13 09:49:17 UTC 2014


On Thu, Mar 13, 2014 at 09:20:09AM +0000, qiaonuohan at cn.fujitsu.com wrote:
> On 03/12/2014 11:04 PM, Martin Kletzander wrote:
> > diff --git c/src/test/test_driver.c i/src/test/test_driver.c
> > index 39b3066..20f7bb3 100644
> > --- c/src/test/test_driver.c
> > +++ i/src/test/test_driver.c
> > @@ -2436,6 +2436,13 @@ static int testDomainCoreDumpWithFormat(virDomainPtr domain,
> >
> >       virCheckFlags(VIR_DUMP_CRASH, -1);
> >
> > +    /* we don't support non-raw formats in test driver */
> > +    if (dumpformat != VIR_DOMAIN_CORE_DUMP_FORMAT_RAW) {
> > +        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
> > +                       _("kdump-compressed format is not supported here"));
> > +        goto cleanup;
> > +    }
> > +
>
> Moving the check for dumpformat here may jump to cleanup before privdom is
> initialize. So is it suitable moving this check before the check of flags? like
>

I just wanted to check and error out properly before doing the work
and not after that, so that's ok, yes.

Martin

> <cut>
> @@ -2467,6 +2468,13 @@ static int testDomainCoreDump(virDomainPtr domain,
>           goto cleanup;
>       }
>
> +    /* we don't support non-raw formats in test driver */
> +    if (dumpformat != VIR_DOMAIN_CORE_DUMP_FORMAT_RAW) {
> +        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
> +                       _("kdump-compressed format is not supported here"));
> +        goto cleanup;
> +    }
> +
>       if (flags & VIR_DUMP_CRASH) {
>           testDomainShutdownState(domain, privdom, VIR_DOMAIN_SHUTOFF_CRASHED);
>           event = virDomainEventLifecycleNewFromObj(privdom,
>
> <cut>
>
> >       testDriverLock(privconn);
> >       privdom = virDomainObjListFindByName(privconn->domains,
> >                                            domain->name);
> > @@ -2476,13 +2483,6 @@ static int testDomainCoreDumpWithFormat(virDomainPtr domain,
> >           }
> >       }
> >
> > -    /* dump the core of "domain" to file "to" */
> > -    if (dumpformat != VIR_DUMP_FORMAT_RAW) {
> > -        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
> > -                       _("kdump-compressed format is not supported here"));
> > -        goto cleanup;
> > -    }
> > -
> >       ret = 0;
> >   cleanup:
> >       VIR_FORCE_CLOSE(fd);
> > @@ -2497,7 +2497,8 @@ cleanup:
> >   static int testDomainCoreDump(virDomainPtr domain,
> >                                 const char *to,
> >                                 unsigned int flags) {
> > -    return testDomainCoreDumpWithFormat(domain, to, VIR_DUMP_FORMAT_RAW, flags);
> > +    return testDomainCoreDumpWithFormat(domain, to,
> > +                                        VIR_DOMAIN_CORE_DUMP_FORMAT_RAW, flags);
> >   }
> >
> >   static char *testDomainGetOSType(virDomainPtr dom ATTRIBUTE_UNUSED) {
> > @@ -7350,6 +7351,7 @@ static virDriver testDriver = {
> >       .domainRestore = testDomainRestore, /* 0.3.2 */
> >       .domainRestoreFlags = testDomainRestoreFlags, /* 0.9.4 */
> >       .domainCoreDump = testDomainCoreDump, /* 0.3.2 */
> > +    .domainCoreDumpWithFormat = testDomainCoreDumpWithFormat, /* 1.2.3 */
> >       .domainSetVcpus = testDomainSetVcpus, /* 0.1.4 */
> >       .domainSetVcpusFlags = testDomainSetVcpusFlags, /* 0.8.5 */
> >       .domainGetVcpusFlags = testDomainGetVcpusFlags, /* 0.8.5 */
>
>
> --
> Regards
> Qiao Nuohan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140313/40b09d61/attachment-0001.sig>


More information about the libvir-list mailing list