[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCHv7 07/17] block: add BlockLimits structure to BlockDr
From: |
Peter Lieven |
Subject: |
[Qemu-devel] [PATCHv7 07/17] block: add BlockLimits structure to BlockDriverState |
Date: |
Thu, 24 Oct 2013 12:06:56 +0200 |
this patch adds BlockLimits which introduces discard and write_zeroes
limits and alignment information to the BlockDriverState.
Signed-off-by: Peter Lieven <address@hidden>
---
include/block/block_int.h | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/include/block/block_int.h b/include/block/block_int.h
index 9bbaa29..33be247 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -227,6 +227,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
@@ -280,6 +294,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;
--
1.7.9.5
- [Qemu-devel] [PATCHv7 00/17] block: logical block provisioning enhancements, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 01/17] block: make BdrvRequestFlags public, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 04/17] block: add logical block provisioning info to BlockDriverInfo, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 03/17] block: introduce BDRV_REQ_MAY_UNMAP request flag, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 02/17] block: add flags to bdrv_*_write_zeroes, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 06/17] block/iscsi: add .bdrv_get_info, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 05/17] block: add wrappers for logical block provisioning information, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 08/17] block/raw: copy BlockLimits on raw_open, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 07/17] block: add BlockLimits structure to BlockDriverState,
Peter Lieven <=
- [Qemu-devel] [PATCHv7 11/17] iscsi: set limits in BlockDriverState, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 10/17] block: honour BlockLimits in bdrv_co_discard, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 09/17] block: honour BlockLimits in bdrv_co_do_write_zeroes, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 12/17] iscsi: simplify iscsi_co_discard, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 13/17] iscsi: add bdrv_co_write_zeroes, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 14/17] block: introduce bdrv_make_zero, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 16/17] qemu-img: add support for fully allocated images, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 15/17] block/get_block_status: fix BDRV_BLOCK_ZERO for unallocated blocks, Peter Lieven, 2013/10/24
- [Qemu-devel] [PATCHv7 17/17] qemu-img: conditionally zero out target on convert, Peter Lieven, 2013/10/24
- Re: [Qemu-devel] [PATCHv7 00/17] block: logical block provisioning enhancements, Paolo Bonzini, 2013/10/24