qemu became more picky parsing -m option

Bug #1707297 reported by John Florian
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Won't Fix
Undecided
Unassigned

Bug Description

With qemu-kvm-2.9.0-3.fc26.x86_64 I am no longer to specify the memory size using something like "-m 1.00000GiB" but with qemu-kvm-2.7.1-7.fc25.x86_64 I could without any problem. I now get an error message like:

qemu-system-x86_64: -m 1.00000GiB: Parameter 'size' expects a non-negative number below 2^64
Optional suffix k, M, G, T, P or E means kilo-, mega-, giga-, tera-, peta-
and exabytes, respectively.

Is this expected or a regression?

Revision history for this message
Eric Blake (eblake) wrote : Re: [Qemu-devel] [Bug 1707297] [NEW] qemu became more picky parsing -m option

On 07/31/2017 03:34 AM, Markus Armbruster wrote:
> John Florian <email address hidden> writes:
>
>> Public bug reported:
>>
>> With qemu-kvm-2.9.0-3.fc26.x86_64 I am no longer to specify the memory
>> size using something like "-m 1.00000GiB" but with qemu-
>> kvm-2.7.1-7.fc25.x86_64 I could without any problem. I now get an error
>> message like:
>>
>> qemu-system-x86_64: -m 1.00000GiB: Parameter 'size' expects a non-negative number below 2^64
>> Optional suffix k, M, G, T, P or E means kilo-, mega-, giga-, tera-, peta-
>> and exabytes, respectively.
>>
>>
>> Is this expected or a regression?
>
> We recognize suffix "G". Before commit 75cdcd1 (v2.9.0), trailing
> garbage after a recognized suffix was silently ignored. "1.0G",
> "1.0GiB", "1.0Garbage-trucks-of-RAM" were all the same to QEMU. No
> more.
>
> All clear?

That said, virsh from libvirt manages to recognize 'G' and 'GiB' as
synonyms (powers of 2), as well as 'GB' (powers of 10); we could justify
patching qemu's parser to accept more valid suffixes, particularly since
'GiB' is a typical suffix that has seen use (in spite of it not being
documented).

--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org

Revision history for this message
John Florian (jflorian) wrote :

Not sure why I can only see Markus' comment here as part of Eric's but anyway... the behavior change *is* expected.

Can qemu behave more like virsh then? That would be ideal IMHO. I prefer to specify my RAM in powers of 2 and disk in powers of 10 so that when I test virtually using qemu I more closely match the exact constraints of real hardware. For the embedded work I do fitting in tight confines, it can make a significant difference.

(I actually to this with a wrapper I have around qemu, which is why you see a floating point value for GiB in my example above. My wrapper behaves like virsh and takes any *B, *iB format and regurgitates it into something qemu accepts.)

Revision history for this message
Thomas Huth (th-huth) wrote :

Looks like nobody cared to implement this within 3 years ... and IMHO it's maybe even better to not overload the CLI syntax too much ... so I'm closing this ticket now.

Changed in qemu:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.