On Wed, 2009-07-22 at 11:24 +0100, Daniel P. Berrange wrote:
On Mon, Jul 20, 2009 at 06:20:06PM +0100, Mark McLoughlin wrote:
> On Mon, 2009-07-20 at 17:03 +0100, Daniel P. Berrange wrote:
> > On Mon, Jul 20, 2009 at 02:54:34PM +0100, Mark McLoughlin wrote:
> > > diff --git a/include/libvirt/libvirt.h b/include/libvirt/libvirt.h
> > > index 90007a1..d1cf5fb 100644
> > > --- a/include/libvirt/libvirt.h
> > > +++ b/include/libvirt/libvirt.h
> > > @@ -584,8 +584,9 @@ int virDomainGetSecurityLabel
(virDomainPtr domain,
> > > */
> > >
> > > typedef enum {
> > > - VIR_DOMAIN_XML_SECURE = 1, /* dump security sensitive information too
*/
> > > - VIR_DOMAIN_XML_INACTIVE = 2/* dump inactive domain information */
> > > + VIR_DOMAIN_XML_SECURE = (1<<0), /* dump security sensitive
information too */
> > > + VIR_DOMAIN_XML_INACTIVE = (1<<1), /* dump inactive domain
information */
> > > + VIR_DOMAIN_XML_FLAGS_MASK = 0xffff, /* bits 16 and above are for
internal use */
> > > } virDomainXMLFlags;
> >
> > IMHO, this should be kept in the private header file. The fact that
> > we have hack reserving some portion for our internal use doesn't need
> > to be exposed to applications.
>
> Okay, I put it in libvirt_internal.h, assuming you don't want
> domain_conf.h included in libvirt.c
>
> > > diff --git a/src/libvirt.c b/src/libvirt.c
> > > index f4a7fa7..5507750 100644
> > > --- a/src/libvirt.c
> > > +++ b/src/libvirt.c
> > > @@ -2730,6 +2730,12 @@ virDomainGetXMLDesc(virDomainPtr domain, int
flags)
> > > goto error;
> > > }
> > >
> > > + if (flags != (flags & VIR_DOMAIN_XML_FLAGS_MASK)) {
> > > + virLibConnError(conn, VIR_ERR_OPERATION_DENIED,
> > > + _("virDomainGetXMLDesc with internal
flags"));
> > > + goto error;
> > > + }
> >
> > Here I just think we should be masking the flags off silently. There's
> > no need to explicit tell apps about the existance of internal flags.
>
> Okay, done
ACK to this whole series now. I've done some automated testing of it and
it seems to be working reasonably reliably.
Thanks, pushed now.
Cheers,
Mark.