qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org
Cc: qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 00/20] make bdrv_is_allocated[_above] byte-based
Date: Mon, 5 Jun 2017 15:41:18 -0400	[thread overview]
Message-ID: <0bdbebc3-01ed-4d31-3681-215d1188d095@redhat.com> (raw)
In-Reply-To: <1037fc82-c0f3-859b-0702-74bdd845720f@redhat.com>



On 06/05/2017 03:39 PM, Eric Blake wrote:
> ping
> 

ACK.

> On 05/10/2017 09:20 PM, Eric Blake wrote:
>> 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 one of that conversion: bdrv_is_allocated().
>> Other parts still need a v2, but here's the link to their v1:
>> tracking dirty bitmaps by bytes:
>> https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg02163.html
>> replacing bdrv_get_block_status() with a byte based callback
>> in all the drivers:
>> https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg02642.html
>>
>> Available as a tag at:
>> git fetch git://repo.or.cz/qemu/ericb.git nbd-byte-allocated-v2
>>
>> Since v1:
>> - Add R-b from John as appropriate
>> - Couple of new patches for cleanups he noticed
>> - Rebase to Max's block branch
>>
>> 001/20:[----] [--] 'blockjob: Track job ratelimits via bytes, not sectors'
>> 002/20:[----] [--] 'trace: Show blockjob actions via bytes, not sectors'
>> 003/20:[----] [--] 'stream: Switch stream_populate() to byte-based'
>> 004/20:[----] [--] 'stream: Switch stream_run() to byte-based'
>> 005/20:[----] [--] 'commit: Switch commit_populate() to byte-based'
>> 006/20:[----] [--] 'commit: Switch commit_run() to byte-based'
>> 007/20:[----] [--] 'mirror: Switch MirrorBlockJob to byte-based'
>> 008/20:[----] [--] 'mirror: Switch mirror_do_zero_or_discard() to byte-based'
>> 009/20:[down] 'mirror: Update signature of mirror_clip_sectors()'
>> 010/20:[0013] [FC] 'mirror: Switch mirror_cow_align() to byte-based'
>> 011/20:[----] [-C] 'mirror: Switch mirror_do_read() to byte-based'
>> 012/20:[0014] [FC] 'mirror: Switch mirror_iteration() to byte-based'
>> 013/20:[----] [--] 'block: Drop unused bdrv_round_sectors_to_clusters()'
>> 014/20:[----] [--] 'backup: Switch BackupBlockJob to byte-based'
>> 015/20:[0008] [FC] 'backup: Switch block_backup.h to byte-based'
>> 016/20:[----] [--] 'backup: Switch backup_do_cow() to byte-based'
>> 017/20:[----] [--] 'backup: Switch backup_run() to byte-based'
>> 018/20:[0039] [FC] 'block: Make bdrv_is_allocated() byte-based'
>> 019/20:[down] 'block: Minimize raw use of bds->total_sectors'
>> 020/20:[0026] [FC] 'block: Make bdrv_is_allocated_above() byte-based'
>>
>> Eric Blake (20):
>>   blockjob: Track job ratelimits via bytes, not sectors
>>   trace: Show blockjob actions via bytes, not sectors
>>   stream: Switch stream_populate() to byte-based
>>   stream: Switch stream_run() to byte-based
>>   commit: Switch commit_populate() to byte-based
>>   commit: Switch commit_run() to byte-based
>>   mirror: Switch MirrorBlockJob to byte-based
>>   mirror: Switch mirror_do_zero_or_discard() to byte-based
>>   mirror: Update signature of mirror_clip_sectors()
>>   mirror: Switch mirror_cow_align() to byte-based
>>   mirror: Switch mirror_do_read() to byte-based
>>   mirror: Switch mirror_iteration() to byte-based
>>   block: Drop unused bdrv_round_sectors_to_clusters()
>>   backup: Switch BackupBlockJob to byte-based
>>   backup: Switch block_backup.h to byte-based
>>   backup: Switch backup_do_cow() to byte-based
>>   backup: Switch backup_run() to byte-based
>>   block: Make bdrv_is_allocated() byte-based
>>   block: Minimize raw use of bds->total_sectors
>>   block: Make bdrv_is_allocated_above() byte-based
>>
>>  include/block/block.h        |  10 +-
>>  include/block/block_backup.h |  11 +-
>>  include/qemu/ratelimit.h     |   3 +-
>>  block/backup.c               | 130 ++++++++-----------
>>  block/commit.c               |  54 ++++----
>>  block/io.c                   |  92 +++++++------
>>  block/mirror.c               | 300 ++++++++++++++++++++++---------------------
>>  block/replication.c          |  29 +++--
>>  block/stream.c               |  35 +++--
>>  block/vvfat.c                |  34 +++--
>>  migration/block.c            |   9 +-
>>  qemu-img.c                   |  15 ++-
>>  qemu-io-cmds.c               |  70 +++++-----
>>  block/trace-events           |  14 +-
>>  14 files changed, 396 insertions(+), 410 deletions(-)
>>
> 

      reply	other threads:[~2017-06-05 19:41 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-11  2:20 [Qemu-devel] [PATCH v2 00/20] make bdrv_is_allocated[_above] byte-based Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 01/20] blockjob: Track job ratelimits via bytes, not sectors Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 02/20] trace: Show blockjob actions " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 03/20] stream: Switch stream_populate() to byte-based Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 04/20] stream: Switch stream_run() " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 05/20] commit: Switch commit_populate() " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 06/20] commit: Switch commit_run() " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 07/20] mirror: Switch MirrorBlockJob " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 08/20] mirror: Switch mirror_do_zero_or_discard() " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 09/20] mirror: Update signature of mirror_clip_sectors() Eric Blake
2017-06-05 22:23   ` John Snow
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 10/20] mirror: Switch mirror_cow_align() to byte-based Eric Blake
2017-06-05 22:24   ` John Snow
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 11/20] mirror: Switch mirror_do_read() " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 12/20] mirror: Switch mirror_iteration() " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 13/20] block: Drop unused bdrv_round_sectors_to_clusters() Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 14/20] backup: Switch BackupBlockJob to byte-based Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 15/20] backup: Switch block_backup.h " Eric Blake
2017-06-05 22:42   ` John Snow
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 16/20] backup: Switch backup_do_cow() " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 17/20] backup: Switch backup_run() " Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 18/20] block: Make bdrv_is_allocated() byte-based Eric Blake
2017-06-05 22:57   ` John Snow
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 19/20] block: Minimize raw use of bds->total_sectors Eric Blake
2017-05-11  2:20 ` [Qemu-devel] [PATCH v2 20/20] block: Make bdrv_is_allocated_above() byte-based Eric Blake
2017-06-05 23:22   ` John Snow
2017-06-05 23:30   ` John Snow
2017-06-05 19:39 ` [Qemu-devel] [PATCH v2 00/20] make bdrv_is_allocated[_above] byte-based Eric Blake
2017-06-05 19:41   ` John Snow [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0bdbebc3-01ed-4d31-3681-215d1188d095@redhat.com \
    --to=jsnow@redhat.com \
    --cc=eblake@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).