block: add logical block provisioning info to BlockDriverInfo
Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Peter Lieven <pl@kamp.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
		
							parent
							
								
									d32f35cbc5
								
							
						
					
					
						commit
						e1a5c4bed4
					
				| @ -18,6 +18,22 @@ typedef struct BlockDriverInfo { | |||||||
|     /* offset at which the VM state can be saved (0 if not possible) */ |     /* offset at which the VM state can be saved (0 if not possible) */ | ||||||
|     int64_t vm_state_offset; |     int64_t vm_state_offset; | ||||||
|     bool is_dirty; |     bool is_dirty; | ||||||
|  |     /*
 | ||||||
|  |      * True if unallocated blocks read back as zeroes. This is equivalent | ||||||
|  |      * to the the LBPRZ flag in the SCSI logical block provisioning page. | ||||||
|  |      */ | ||||||
|  |     bool unallocated_blocks_are_zero; | ||||||
|  |     /*
 | ||||||
|  |      * True if the driver can optimize writing zeroes by unmapping | ||||||
|  |      * sectors. This is equivalent to the BLKDISCARDZEROES ioctl in Linux | ||||||
|  |      * with the difference that in qemu a discard is allowed to silently | ||||||
|  |      * fail. Therefore we have to use bdrv_write_zeroes with the | ||||||
|  |      * BDRV_REQ_MAY_UNMAP flag for an optimized zero write with unmapping. | ||||||
|  |      * After this call the driver has to guarantee that the contents read | ||||||
|  |      * back as zero. It is additionally required that the block device is | ||||||
|  |      * opened with BDRV_O_UNMAP flag for this to work. | ||||||
|  |      */ | ||||||
|  |     bool can_write_zeroes_with_unmap; | ||||||
| } BlockDriverInfo; | } BlockDriverInfo; | ||||||
| 
 | 
 | ||||||
| typedef struct BlockFragInfo { | typedef struct BlockFragInfo { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peter Lieven
						Peter Lieven