block: add BlockLimits structure to BlockDriverState
this patch adds BlockLimits which introduces discard and write_zeroes limits and alignment information to the BlockDriverState. Signed-off-by: Peter Lieven <pl@kamp.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
186d4f2b1d
commit
fe81c2cca6
@ -230,6 +230,20 @@ struct BlockDriver {
|
||||
QLIST_ENTRY(BlockDriver) list;
|
||||
};
|
||||
|
||||
typedef struct BlockLimits {
|
||||
/* maximum number of sectors that can be discarded at once */
|
||||
int max_discard;
|
||||
|
||||
/* optimal alignment for discard requests in sectors */
|
||||
int64_t discard_alignment;
|
||||
|
||||
/* maximum number of sectors that can zeroized at once */
|
||||
int max_write_zeroes;
|
||||
|
||||
/* optimal alignment for write zeroes requests in sectors */
|
||||
int64_t write_zeroes_alignment;
|
||||
} BlockLimits;
|
||||
|
||||
/*
|
||||
* Note: the function bdrv_append() copies and swaps contents of
|
||||
* BlockDriverStates, so if you add new fields to this struct, please
|
||||
@ -283,6 +297,9 @@ struct BlockDriverState {
|
||||
uint64_t total_time_ns[BDRV_MAX_IOTYPE];
|
||||
uint64_t wr_highest_sector;
|
||||
|
||||
/* I/O Limits */
|
||||
BlockLimits bl;
|
||||
|
||||
/* Whether the disk can expand beyond total_sectors */
|
||||
int growable;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user