[Qemu-devel] [PATCHv3 1/2] vl.c: Fix error messages when parsing maxmem parameters

2015-01-29 Thread Peter Krempa
Produce more human readable error messages and fix few spelling
mistakes.

Also remove a redundant check for the max memory size.

Signed-off-by: Peter Krempa pkre...@redhat.com
---

Notes:
Version 3:
- forgot a word in one of the error messages

Version 2:
- fixed spacing in error message
- changed control flow to allow maxmem == ram_size in case slots == 0

 vl.c | 34 --
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/vl.c b/vl.c
index 983259b..b162465 100644
--- a/vl.c
+++ b/vl.c
@@ -2694,29 +2694,27 @@ static void set_memory_options(uint64_t *ram_slots, 
ram_addr_t *maxram_size)
 uint64_t slots;

 sz = qemu_opt_get_size(opts, maxmem, 0);
+slots = qemu_opt_get_number(opts, slots, 0);
 if (sz  ram_size) {
-error_report(invalid -m option value: maxmem 
-(0x% PRIx64 ) = initial memory (0x
-RAM_ADDR_FMT ), sz, ram_size);
+error_report(invalid value of -m option maxmem: 
+ maximum memory size (0x% PRIx64 ) must be at least 

+ the initial memory size (0x RAM_ADDR_FMT ),
+ sz, ram_size);
 exit(EXIT_FAILURE);
-}
-
-slots = qemu_opt_get_number(opts, slots, 0);
-if ((sz  ram_size)  !slots) {
-error_report(invalid -m option value: maxmem 
-(0x% PRIx64 ) more than initial memory (0x
-RAM_ADDR_FMT ) but no hotplug slots where 
-specified, sz, ram_size);
+} else if (sz  ram_size) {
+if (!slots) {
+error_report(invalid value of -m option: maxmem was 
+ specified, but no hotplug slots were specified);
+exit(EXIT_FAILURE);
+}
+} else if (slots) {
+error_report(invalid value of -m option maxmem: 
+ memory slots were specified but maximum memory size 
+ (0x% PRIx64 ) is equal to the initial memory size 
+ (0x RAM_ADDR_FMT ), sz, ram_size);
 exit(EXIT_FAILURE);
 }

-if ((sz = ram_size)  slots) {
-error_report(invalid -m option value:  %
-PRIu64  hotplug slots where specified but 
-maxmem (0x% PRIx64 ) = initial memory (0x
-RAM_ADDR_FMT ), slots, sz, ram_size);
-exit(EXIT_FAILURE);
-}
 *maxram_size = sz;
 *ram_slots = slots;
 } else if ((!maxmem_str  slots_str) ||
-- 
2.2.2




Re: [Qemu-devel] [PATCHv3 1/2] vl.c: Fix error messages when parsing maxmem parameters

2015-01-29 Thread Eric Blake
On 01/29/2015 06:48 AM, Peter Krempa wrote:
 Produce more human readable error messages and fix few spelling
 mistakes.
 
 Also remove a redundant check for the max memory size.
 
 Signed-off-by: Peter Krempa pkre...@redhat.com
 ---
 
 Notes:
 Version 3:
 - forgot a word in one of the error messages
 
 Version 2:
 - fixed spacing in error message
 - changed control flow to allow maxmem == ram_size in case slots == 0
 
  vl.c | 34 --
  1 file changed, 16 insertions(+), 18 deletions(-)

Reviewed-by: Eric Blake ebl...@redhat.com

-- 
Eric Blake   eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature