qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCHv2 00/20] block: logical block provisioning enhancements
@ 2013-09-17 13:48 Peter Lieven
  2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 01/20] block: make BdrvRequestFlags public Peter Lieven
                   ` (19 more replies)
  0 siblings, 20 replies; 42+ messages in thread
From: Peter Lieven @ 2013-09-17 13:48 UTC (permalink / raw)
  To: qemu-devel
  Cc: kwolf, ronniesahlberg, Peter Lieven, stefanha, anthony, pbonzini

this patch adds the ability for targets to stay sparse during
block migration (if the zero_blocks capability is set) and qemu-img convert
even if the target does not have has_zero_init = 1.

the series was especially developed for iSCSI, but it should also work
with other drivers with little or no adjustments. these adjustments
should be limited to providing block provisioning information through
get_block_info and/or honouring BDRV_REQ_MAY_UNMAP on writing zeroes.

there are also 4 patches which are fixes/enhancements for the get_block_status API
discovered during development of this series.

v1->v2:
 - moved block max_discard and max_write_zeroes to BlockDriverState
 - added discard_alignment and write_zeroes_alignment to BlockDriverState
 - added bdrv_has_discard_zeroes() and bdrv_has_discard_write_zeroes()
 - added logic to bdrv_co_discard and bdrv_co_do_write_zeroes to honour
   limit and alignment info.
 - added support for -S 0 in qemu-img convert.

Peter Lieven (20):
  block: make BdrvRequestFlags public
  block: add flags to bdrv_*_write_zeroes
  block: introduce BDRV_REQ_MAY_UNMAP request flag
  block: introduce bdrv_has_discard_zeroes and
    bdrv_has_discard_write_zeroes
  block/raw: add bdrv_has_discard_zeroes and
    bdrv_has_discard_write_zeroes
  block: add discard and write_zeroes limits and alignment to
    BlockDriverState
  block: honour alignment and limit in bdrv_co_do_write_zeroes
  block: honour alignment and limit in bdrv_co_discard
  iscsi: simplify iscsi_co_discard
  iscsi: set limits in BlockDriverState
  iscsi: add bdrv_has_discard_zeroes and bdrv_has_discard_write_zeroes
  iscsi: add bdrv_co_write_zeroes
  block: introduce bdrv_zeroize
  block/get_block_status: set *pnum = 0 on error
  block/get_block_status: avoid segfault if there is no backing_hd
  block/get_block_status: avoid redundant callouts on raw devices
  block/get_block_status: fix BDRV_BLOCK_ZERO for unallocated blocks
  qemu-img: add support for fully allocated images
  qemu-img: conditionally zero out target on convert
  block/raw: copy block limits and alignment information on raw_open

 block-migration.c         |    3 +-
 block.c                   |  187 ++++++++++++++++++++++++++++++++++++---------
 block/backup.c            |    3 +-
 block/iscsi.c             |  148 +++++++++++++++++++++++++----------
 block/qcow2.c             |    2 +-
 block/qed.c               |    3 +-
 block/raw_bsd.c           |   65 ++++++++++------
 block/vmdk.c              |    3 +-
 include/block/block.h     |   19 ++++-
 include/block/block_int.h |   27 ++++++-
 qemu-img.c                |   18 ++++-
 qemu-io-cmds.c            |    2 +-
 12 files changed, 368 insertions(+), 112 deletions(-)

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2013-09-19 21:57 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-17 13:48 [Qemu-devel] [PATCHv2 00/20] block: logical block provisioning enhancements Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 01/20] block: make BdrvRequestFlags public Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 02/20] block: add flags to bdrv_*_write_zeroes Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 03/20] block: introduce BDRV_REQ_MAY_UNMAP request flag Peter Lieven
2013-09-19 12:02   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 04/20] block: introduce bdrv_has_discard_zeroes and bdrv_has_discard_write_zeroes Peter Lieven
2013-09-19 14:46   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 05/20] block/raw: add " Peter Lieven
2013-09-19 18:48   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 06/20] block: add discard and write_zeroes limits and alignment to BlockDriverState Peter Lieven
2013-09-19 18:53   ` Eric Blake
2013-09-19 19:11     ` Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 07/20] block: honour alignment and limit in bdrv_co_do_write_zeroes Peter Lieven
2013-09-19 20:07   ` Eric Blake
2013-09-19 21:57     ` Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 08/20] block: honour alignment and limit in bdrv_co_discard Peter Lieven
2013-09-19 20:09   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 09/20] iscsi: simplify iscsi_co_discard Peter Lieven
2013-09-19 20:12   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 10/20] iscsi: set limits in BlockDriverState Peter Lieven
2013-09-19 20:14   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 11/20] iscsi: add bdrv_has_discard_zeroes and bdrv_has_discard_write_zeroes Peter Lieven
2013-09-19 20:17   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 12/20] iscsi: add bdrv_co_write_zeroes Peter Lieven
2013-09-19 20:19   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 13/20] block: introduce bdrv_zeroize Peter Lieven
2013-09-19 20:26   ` Eric Blake
2013-09-19 21:52     ` Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 14/20] block/get_block_status: set *pnum = 0 on error Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 15/20] block/get_block_status: avoid segfault if there is no backing_hd Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 16/20] block/get_block_status: avoid redundant callouts on raw devices Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 17/20] block/get_block_status: fix BDRV_BLOCK_ZERO for unallocated blocks Peter Lieven
2013-09-19 20:30   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 18/20] qemu-img: add support for fully allocated images Peter Lieven
2013-09-19 20:36   ` Eric Blake
2013-09-19 21:50     ` Peter Lieven
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 19/20] qemu-img: conditionally zero out target on convert Peter Lieven
2013-09-19 20:39   ` Eric Blake
2013-09-17 13:48 ` [Qemu-devel] [PATCHv2 20/20] block/raw: copy block limits and alignment information on raw_open Peter Lieven
2013-09-18  8:48   ` Paolo Bonzini
2013-09-19  7:29     ` Peter Lieven
2013-09-19 14:44       ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).