All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/31] make bdrv_get_block_status byte-based
@ 2017-04-18  1:33 Eric Blake
  2017-04-18  1:33 ` [Qemu-devel] [PATCH 01/31] block: Drop unused bdrv_round_sectors_to_clusters() Eric Blake
                   ` (32 more replies)
  0 siblings, 33 replies; 48+ messages in thread
From: Eric Blake @ 2017-04-18  1:33 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-block, kwolf, jsnow

There are patches floating around to add NBD_CMD_BLOCK_STATUS,
but NBD wants to report status on byte granularity (even if the
reporting will probably be naturally aligned to sectors or even
much higher levels).  I've therefore started the task of
converting our block status code to report at a byte granularity
rather than sectors.

This is part three of that conversion: dirty-bitmap. Earlier parts
have been (mostly) reviewed, for bdrv_is_allocated and dirty-bitmaps.

Perhaps I could have split this in two; patches 1-10 vs. 11-31 make
a nice division of labor.

Available as a tag at:
git fetch git://repo.or.cz/qemu/ericb.git nbd-byte-status-v1

It requires the following (v1 of bdrv_is_allocated, v1 of dirty-bitmap,
v9 of blkdebug, and Max's block-next tree):
https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg01995.html
https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg01723.html
https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg01298.html
https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg02163.html

The diffstat shows no net change in total lines - but I know that the
new code has more lines of comments than the old ;)

I still haven't felt like tackling the task of rewriting migration/block.c
to use bytes (instead of sectors) everywhere - that might give another
net win in lines of code and legibility, but I also know it would
conflict with some of the refactoring work that Juan is currently
posting for review.

Eric Blake (31):
  block: Drop unused bdrv_round_sectors_to_clusters()
  block: Make bdrv_round_to_clusters() signature more useful
  qcow2: Switch is_zero_sectors() to byte-based
  block: Switch bdrv_make_zero() to byte-based
  qemu-img: Switch get_block_status() to byte-based
  block: Convert bdrv_get_block_status() to bytes
  block: Switch bdrv_co_get_block_status() to byte-based
  block: Switch BdrvCoGetBlockStatusData to byte-based
  block: Switch bdrv_co_get_block_status_above() to byte-based
  block: Convert bdrv_get_block_status_above() to bytes
  block: Add .bdrv_co_block_status() callback
  commit: Switch to .bdrv_co_block_status()
  file-posix: Switch to .bdrv_co_block_status()
  gluster: Switch to .bdrv_co_block_status()
  iscsi: Switch cluster_sectors to byte-based
  iscsi: Switch iscsi_allocmap_update() to byte-based
  iscsi: Switch to .bdrv_co_block_status()
  mirror: Switch to .bdrv_co_block_status()
  null: Switch to .bdrv_co_block_status()
  parallels: Switch to .bdrv_co_block_status()
  qcow: Switch to .bdrv_co_block_status()
  qcow2: Switch to .bdrv_co_block_status()
  qed: Switch to .bdrv_co_block_status()
  raw: Switch to .bdrv_co_block_status()
  sheepdog: Switch to .bdrv_co_block_status()
  vdi: Avoid bitrot of debugging code
  vdi: Switch to .bdrv_co_block_status()
  vmdk: Switch to .bdrv_co_block_status()
  vpc: Switch to .bdrv_co_block_status()
  vvfat: Switch to .bdrv_co_block_status()
  block: Drop unused .bdrv_co_get_block_status()

 include/block/block.h     |  33 +++----
 include/block/block_int.h |  13 ++-
 block/commit.c            |  10 +-
 block/file-posix.c        |  47 +++++----
 block/gluster.c           |  47 +++++----
 block/io.c                | 243 ++++++++++++++++++++++------------------------
 block/iscsi.c             | 144 ++++++++++++++-------------
 block/mirror.c            |  33 +++----
 block/null.c              |  21 ++--
 block/parallels.c         |  15 +--
 block/qcow.c              |  22 +++--
 block/qcow2-cluster.c     |   2 +-
 block/qcow2.c             |  51 +++++-----
 block/qed.c               |  22 ++---
 block/raw-format.c        |  16 +--
 block/sheepdog.c          |  23 +++--
 block/vdi.c               |  37 ++++---
 block/vmdk.c              |  24 ++---
 block/vpc.c               |  31 +++---
 block/vvfat.c             |  12 +--
 qemu-img.c                |  70 ++++++-------
 block/trace-events        |   2 +-
 22 files changed, 459 insertions(+), 459 deletions(-)

-- 
2.9.3

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

end of thread, other threads:[~2017-07-13 13:52 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-18  1:33 [Qemu-devel] [PATCH 00/31] make bdrv_get_block_status byte-based Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 01/31] block: Drop unused bdrv_round_sectors_to_clusters() Eric Blake
2017-04-26 21:41   ` John Snow
2017-04-18  1:33 ` [Qemu-devel] [PATCH 02/31] block: Make bdrv_round_to_clusters() signature more useful Eric Blake
2017-04-26 21:41   ` John Snow
2017-04-26 21:47     ` Eric Blake
2017-04-26 21:54       ` John Snow
2017-04-18  1:33 ` [Qemu-devel] [PATCH 03/31] qcow2: Switch is_zero_sectors() to byte-based Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 04/31] block: Switch bdrv_make_zero() " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 05/31] qemu-img: Switch get_block_status() " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 06/31] block: Convert bdrv_get_block_status() to bytes Eric Blake
2017-04-18 21:34   ` [Qemu-devel] [PATCH v1.5 06.5/31] fixup! " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 07/31] block: Switch bdrv_co_get_block_status() to byte-based Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 08/31] block: Switch BdrvCoGetBlockStatusData " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 09/31] block: Switch bdrv_co_get_block_status_above() " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 10/31] block: Convert bdrv_get_block_status_above() to bytes Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 11/31] block: Add .bdrv_co_block_status() callback Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 12/31] commit: Switch to .bdrv_co_block_status() Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 13/31] file-posix: " Eric Blake
2017-04-18 20:56   ` Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 14/31] gluster: " Eric Blake
2017-04-19 13:26   ` [Qemu-devel] [Qemu-block] " Niels de Vos
2017-04-19 14:06   ` [Qemu-devel] " Prasanna Kalever
2017-04-19 14:08     ` Prasanna Kalever
2017-04-18  1:33 ` [Qemu-devel] [PATCH 15/31] iscsi: Switch cluster_sectors to byte-based Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 16/31] iscsi: Switch iscsi_allocmap_update() " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 17/31] iscsi: Switch to .bdrv_co_block_status() Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 18/31] mirror: " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 19/31] null: " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 20/31] parallels: " Eric Blake
2017-04-18 10:28   ` Denis V. Lunev
2017-04-18  1:33 ` [Qemu-devel] [PATCH 21/31] qcow: " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 22/31] qcow2: " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 23/31] qed: " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 24/31] raw: " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 25/31] sheepdog: " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 26/31] vdi: Avoid bitrot of debugging code Eric Blake
2017-04-18  5:13   ` Stefan Weil
2017-05-13 20:35     ` Philippe Mathieu-Daudé
2017-04-18  1:33 ` [Qemu-devel] [PATCH 27/31] vdi: Switch to .bdrv_co_block_status() Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 28/31] vmdk: " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 29/31] vpc: " Eric Blake
2017-07-13 12:55   ` Kevin Wolf
2017-07-13 13:52     ` Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 30/31] vvfat: " Eric Blake
2017-04-18  1:33 ` [Qemu-devel] [PATCH 31/31] block: Drop unused .bdrv_co_get_block_status() Eric Blake
2017-04-18  1:37 ` [Qemu-devel] [Qemu-block] [PATCH 00/31] make bdrv_get_block_status byte-based Eric Blake
2017-04-18 20:23 ` [Qemu-devel] " Eric Blake

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.