mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 04:06:46 +00:00 
			
		
		
		
	 ea29331ba6
			
		
	
	
		ea29331ba6
		
	
	
	
	
		
			
			The error message claims the parameter is invalid:
    $ qemu-system-x86_64 -object qom-type=nonexistent
    qemu-system-x86_64: -object qom-type=nonexistent: Invalid parameter 'nonexistent'
What's wrong is actually the *value* 'nonexistent'.  Improve the
message to
    qemu-system-x86_64: -object qom-type=nonexistent: Parameter 'qom-type' does not accept value 'nonexistent'
Fixes: https://gitlab.com/qemu-project/qemu/-/issues/608
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20211020180231.434071-1-armbru@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
		
	
			
		
			
				
	
	
		
			224 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			224 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| QA output created by 049
 | |
| === Check correct interpretation of suffixes for image size ===
 | |
| 
 | |
| == 1. Traditional size parameter ==
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1024
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1024b
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1k
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1K
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1048576 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1G
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1073741824 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1T
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1099511627776 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1024.0
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1024.0b
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1.5k
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1536 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1.5K
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1536 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1.5M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1572864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1.5G
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1610612736 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 1.5T
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1649267441664 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| == 2. Specifying size via -o ==
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1024 TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1024b TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1k TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1K TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1M TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1048576 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1G TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1073741824 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1T TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1099511627776 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1024.0 TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1024.0b TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1024 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1.5k TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1536 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1.5K TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1536 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1.5M TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1572864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1.5G TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1610612736 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1.5T TEST_DIR/t.qcow2
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1649267441664 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| == 3. Invalid sizes ==
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 -- -1024
 | |
| qemu-img: Invalid image size specified. You may use k, M, G, T, P or E suffixes for
 | |
| qemu-img: kilobytes, megabytes, gigabytes, terabytes, petabytes and exabytes.
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=-1024 TEST_DIR/t.qcow2
 | |
| qemu-img: TEST_DIR/t.qcow2: 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.
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 -- -1k
 | |
| qemu-img: Invalid image size specified. You may use k, M, G, T, P or E suffixes for
 | |
| qemu-img: kilobytes, megabytes, gigabytes, terabytes, petabytes and exabytes.
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=-1k TEST_DIR/t.qcow2
 | |
| qemu-img: TEST_DIR/t.qcow2: 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.
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 -- 1kilobyte
 | |
| qemu-img: Invalid image size specified. You may use k, M, G, T, P or E suffixes for
 | |
| qemu-img: kilobytes, megabytes, gigabytes, terabytes, petabytes and exabytes.
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=1kilobyte TEST_DIR/t.qcow2
 | |
| qemu-img: TEST_DIR/t.qcow2: 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.
 | |
| 
 | |
| qemu-img create -f qcow2 TEST_DIR/t.qcow2 -- foobar
 | |
| qemu-img: Invalid image size specified. You may use k, M, G, T, P or E suffixes for
 | |
| qemu-img: kilobytes, megabytes, gigabytes, terabytes, petabytes and exabytes.
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=foobar TEST_DIR/t.qcow2
 | |
| qemu-img: TEST_DIR/t.qcow2: 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.
 | |
| 
 | |
| == 4. Specify size twice (-o and traditional parameter) ==
 | |
| 
 | |
| qemu-img create -f qcow2 -o size=10M TEST_DIR/t.qcow2 20M
 | |
| qemu-img: TEST_DIR/t.qcow2: The image size must be specified only once
 | |
| 
 | |
| == Check correct interpretation of suffixes for cluster size ==
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=1024 TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=1024 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=1024b TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=1024 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=1k TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=1024 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=1K TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=1024 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=1M TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=1048576 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=1024.0 TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=1024 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=1024.0b TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=1024 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=0.5k TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=512 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=0.5K TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=512 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o cluster_size=0.5M TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=524288 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| == Check compat level option ==
 | |
| 
 | |
| qemu-img create -f qcow2 -o compat=0.10 TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 compat=0.10 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o compat=1.1 TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 compat=1.1 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o compat=0.42 TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 compat=0.42 lazy_refcounts=off refcount_bits=16
 | |
| qemu-img: TEST_DIR/t.qcow2: Parameter 'version' does not accept value '0.42'
 | |
| 
 | |
| qemu-img create -f qcow2 -o compat=foobar TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 compat=foobar lazy_refcounts=off refcount_bits=16
 | |
| qemu-img: TEST_DIR/t.qcow2: Parameter 'version' does not accept value 'foobar'
 | |
| 
 | |
| == Check preallocation option ==
 | |
| 
 | |
| qemu-img create -f qcow2 -o preallocation=off TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o preallocation=metadata TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=metadata compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o preallocation=1234 TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=1234 compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| qemu-img: TEST_DIR/t.qcow2: Parameter 'preallocation' does not accept value '1234'
 | |
| 
 | |
| == Check encryption option ==
 | |
| 
 | |
| qemu-img create -f qcow2 -o encryption=off TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 encryption=off cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 --object secret,id=sec0,data=123456 -o encryption=on,encrypt.key-secret=sec0 TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 encryption=on encrypt.key-secret=sec0 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| == Check lazy_refcounts option (only with v3) ==
 | |
| 
 | |
| qemu-img create -f qcow2 -o compat=1.1,lazy_refcounts=off TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 compat=1.1 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o compat=1.1,lazy_refcounts=on TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 compat=1.1 lazy_refcounts=on refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o compat=0.10,lazy_refcounts=off TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 compat=0.10 lazy_refcounts=off refcount_bits=16
 | |
| 
 | |
| qemu-img create -f qcow2 -o compat=0.10,lazy_refcounts=on TEST_DIR/t.qcow2 64M
 | |
| Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 compat=0.10 lazy_refcounts=on refcount_bits=16
 | |
| qemu-img: TEST_DIR/t.qcow2: Lazy refcounts only supported with compatibility level 1.1 and above (use version=v3 or greater)
 | |
| 
 | |
| == Expect error when backing file name is empty string ==
 | |
| 
 | |
| qemu-img create -f qcow2 -b  TEST_DIR/t.qcow2 1M
 | |
| qemu-img: TEST_DIR/t.qcow2: Expected backing file name, got empty string
 | |
| 
 | |
| *** done
 |