[libvirt] [PATCH] Convert qemu command line flags to 64-bit int

Daniel P. Berrange berrange at redhat.com
Wed Feb 10 10:51:31 UTC 2010


On Wed, Feb 10, 2010 at 11:45:45AM +0100, Matthias Bolte wrote:
> 2010/2/10 Daniel Veillard <veillard at redhat.com>:
> > On Tue, Feb 09, 2010 at 07:04:24PM +0000, Daniel P. Berrange wrote:
> >> The QEMU flags are commonly stored as a signed or unsigned int,
> >> allowing only 31 flags. This limit is rather close, so to aid
> >> future patches, change it to a 64-bit int
> >>
> >> * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h, src/qemu/qemu_driver.c,
> >>   tests/qemuargv2xmltest.c, tests/qemuhelptest.c, tests/qemuxml2argvtest.c:
> >>   Use 'unsigned long long' for QEMU flags
> >> ---
> 
> >
> >  ACK, that was something I was about to look at :-)
> > hopefully the enum definition for the flags will allow to go over
> > 32 bits too, I think the patch should also change all the
> > QEMUD_CMD_FLAG_ in /src/qemu/qemu_conf.h to be redefined from
> > (1 << x) into (1UUL << x),
> >
> > Daniel
> >
> 
> I missed the fact that the flags are defined as enum members. This
> maybe an issue. IIRC enum members are ints. We should test this to
> make sure it works as expected on 32bit and 64bit systems.

We're not ever declaring instances of the enum type, only using it as a
convenient way to define the constants. So provided we add '1UUL' as
DV suggests, we should be fine.


Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list