 b527c9b392
			
		
	
	
		b527c9b392
		
	
	
	
	
		
			
			When creating a qcow2 image, we didn't necessarily call qcow2_update_header(), but could end up with the basic header that qcow2_create2() created manually. One thing that this basic header lacks is the feature table. Let's make sure that it's always present. This requires a few updates to test cases as well. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
		
			
				
	
	
		
			200 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			200 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| QA output created by 031
 | |
| 
 | |
| ===== Testing with -o compat=0.10 =====
 | |
| 
 | |
| === Create image with unknown header extension ===
 | |
| 
 | |
| Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
 | |
| magic                     0x514649fb
 | |
| version                   2
 | |
| backing_file_offset       0x0
 | |
| backing_file_size         0x0
 | |
| cluster_bits              16
 | |
| size                      67108864
 | |
| crypt_method              0
 | |
| l1_size                   1
 | |
| l1_table_offset           0x30000
 | |
| refcount_table_offset     0x10000
 | |
| refcount_table_clusters   1
 | |
| nb_snapshots              0
 | |
| snapshot_offset           0x0
 | |
| incompatible_features     0x0
 | |
| compatible_features       0x0
 | |
| autoclear_features        0x0
 | |
| refcount_order            4
 | |
| header_length             72
 | |
| 
 | |
| Header extension:
 | |
| magic                     0x12345678
 | |
| length                    31
 | |
| data                      'This is a test header extension'
 | |
| 
 | |
| No errors were found on the image.
 | |
| 
 | |
| === Rewrite header with no backing file ===
 | |
| 
 | |
| magic                     0x514649fb
 | |
| version                   2
 | |
| backing_file_offset       0x0
 | |
| backing_file_size         0x0
 | |
| cluster_bits              16
 | |
| size                      67108864
 | |
| crypt_method              0
 | |
| l1_size                   1
 | |
| l1_table_offset           0x30000
 | |
| refcount_table_offset     0x10000
 | |
| refcount_table_clusters   1
 | |
| nb_snapshots              0
 | |
| snapshot_offset           0x0
 | |
| incompatible_features     0x0
 | |
| compatible_features       0x0
 | |
| autoclear_features        0x0
 | |
| refcount_order            4
 | |
| header_length             72
 | |
| 
 | |
| Header extension:
 | |
| magic                     0x12345678
 | |
| length                    31
 | |
| data                      'This is a test header extension'
 | |
| 
 | |
| No errors were found on the image.
 | |
| 
 | |
| === Add a backing file and format ===
 | |
| 
 | |
| magic                     0x514649fb
 | |
| version                   2
 | |
| backing_file_offset       0x90
 | |
| backing_file_size         0x17
 | |
| cluster_bits              16
 | |
| size                      67108864
 | |
| crypt_method              0
 | |
| l1_size                   1
 | |
| l1_table_offset           0x30000
 | |
| refcount_table_offset     0x10000
 | |
| refcount_table_clusters   1
 | |
| nb_snapshots              0
 | |
| snapshot_offset           0x0
 | |
| incompatible_features     0x0
 | |
| compatible_features       0x0
 | |
| autoclear_features        0x0
 | |
| refcount_order            4
 | |
| header_length             72
 | |
| 
 | |
| Header extension:
 | |
| magic                     0xe2792aca
 | |
| length                    11
 | |
| data                      'host_device'
 | |
| 
 | |
| Header extension:
 | |
| magic                     0x12345678
 | |
| length                    31
 | |
| data                      'This is a test header extension'
 | |
| 
 | |
| 
 | |
| ===== Testing with -o compat=1.1 =====
 | |
| 
 | |
| === Create image with unknown header extension ===
 | |
| 
 | |
| Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
 | |
| magic                     0x514649fb
 | |
| version                   3
 | |
| backing_file_offset       0x0
 | |
| backing_file_size         0x0
 | |
| cluster_bits              16
 | |
| size                      67108864
 | |
| crypt_method              0
 | |
| l1_size                   1
 | |
| l1_table_offset           0x30000
 | |
| refcount_table_offset     0x10000
 | |
| refcount_table_clusters   1
 | |
| nb_snapshots              0
 | |
| snapshot_offset           0x0
 | |
| incompatible_features     0x0
 | |
| compatible_features       0x0
 | |
| autoclear_features        0x0
 | |
| refcount_order            4
 | |
| header_length             104
 | |
| 
 | |
| Header extension:
 | |
| magic                     0x6803f857
 | |
| length                    144
 | |
| data                      <binary>
 | |
| 
 | |
| Header extension:
 | |
| magic                     0x12345678
 | |
| length                    31
 | |
| data                      'This is a test header extension'
 | |
| 
 | |
| No errors were found on the image.
 | |
| 
 | |
| === Rewrite header with no backing file ===
 | |
| 
 | |
| magic                     0x514649fb
 | |
| version                   3
 | |
| backing_file_offset       0x0
 | |
| backing_file_size         0x0
 | |
| cluster_bits              16
 | |
| size                      67108864
 | |
| crypt_method              0
 | |
| l1_size                   1
 | |
| l1_table_offset           0x30000
 | |
| refcount_table_offset     0x10000
 | |
| refcount_table_clusters   1
 | |
| nb_snapshots              0
 | |
| snapshot_offset           0x0
 | |
| incompatible_features     0x0
 | |
| compatible_features       0x0
 | |
| autoclear_features        0x0
 | |
| refcount_order            4
 | |
| header_length             104
 | |
| 
 | |
| Header extension:
 | |
| magic                     0x6803f857
 | |
| length                    144
 | |
| data                      <binary>
 | |
| 
 | |
| Header extension:
 | |
| magic                     0x12345678
 | |
| length                    31
 | |
| data                      'This is a test header extension'
 | |
| 
 | |
| No errors were found on the image.
 | |
| 
 | |
| === Add a backing file and format ===
 | |
| 
 | |
| magic                     0x514649fb
 | |
| version                   3
 | |
| backing_file_offset       0x148
 | |
| backing_file_size         0x17
 | |
| cluster_bits              16
 | |
| size                      67108864
 | |
| crypt_method              0
 | |
| l1_size                   1
 | |
| l1_table_offset           0x30000
 | |
| refcount_table_offset     0x10000
 | |
| refcount_table_clusters   1
 | |
| nb_snapshots              0
 | |
| snapshot_offset           0x0
 | |
| incompatible_features     0x0
 | |
| compatible_features       0x0
 | |
| autoclear_features        0x0
 | |
| refcount_order            4
 | |
| header_length             104
 | |
| 
 | |
| Header extension:
 | |
| magic                     0xe2792aca
 | |
| length                    11
 | |
| data                      'host_device'
 | |
| 
 | |
| Header extension:
 | |
| magic                     0x6803f857
 | |
| length                    144
 | |
| data                      <binary>
 | |
| 
 | |
| Header extension:
 | |
| magic                     0x12345678
 | |
| length                    31
 | |
| data                      'This is a test header extension'
 | |
| 
 | |
| *** done
 |