Skip to content

Commit

Permalink
block: add logical block provisioning info to BlockDriverInfo
Browse files Browse the repository at this point in the history
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
  • Loading branch information
plieven authored and kevmw committed Nov 28, 2013
1 parent d32f35c commit e1a5c4b
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions include/block/block.h
Expand Up @@ -18,6 +18,22 @@ typedef struct BlockDriverInfo {
/* offset at which the VM state can be saved (0 if not possible) */
int64_t vm_state_offset;
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;

typedef struct BlockFragInfo {
Expand Down

0 comments on commit e1a5c4b

Please sign in to comment.