[Libvir] [PATCH] libvirt.c: warning: dereferencing type-punned pointer will break strict-aliasing rules

Daniel P. Berrange berrange at redhat.com
Thu Mar 8 14:50:56 UTC 2007


On Wed, Mar 07, 2007 at 07:25:59AM +0000, Mark McLoughlin wrote:
> On Tue, 2007-03-06 at 22:52 +0000, Daniel P. Berrange wrote:
> 
> > This feels kind of sick - inventing a common shared struct between the
> > two driver tables, when there isn't any common stuff to share :-(
> 
> 	Yeah. Although, as a way to share more code between domains and
> networks (especially in qemud), it might make sense.
> 
> > Looking at the code, IMHO, the whole approach of iterating over the
> > driver
> > table soo many times is just wrong, when we can simply have an integer
> > count recording how many drivers are registered. This eliminates both
> > for(;;) loops, and reduces the amount of code to the point where I
> > don't
> > think there's anything to be gained by having a generic
> > _virDriverRegister
> > with all the type-casting this entails.
> 
> 	That sounds fine.
> 
> > @@ -203,7 +166,21 @@ _virRegisterDriver(void *driver, int isN
> >  int
> >  virRegisterNetworkDriver(virNetworkDriverPtr driver)
> >  {
> > -    return _virRegisterDriver(driver, 1);
> > +    if (virInitialize() < 0)
> > +      return -1;
> > +
> > +    if (driver == NULL) {
> > +        virLibConnError(NULL, VIR_ERR_INVALID_ARG, __FUNCTION__);
> > +       return(-1);
> > +    }
> > +
> > +    if (virNetworkDriverTabCount >= (sizeof(virNetworkDriverTab)/sizeof(virNetworkDriverPtr))) {
> 
> 	Just use MAX_DRIVERS?

Committed with this change applied.

I also fixed  virConnectOpenReadonly which was not passing the readonly
flag down to the network driver.

Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




More information about the libvir-list mailing list