From: Peter Lieven <pl@kamp.de>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: kwolf@redhat.com, pbonzini@redhat.com, qemu-devel@nongnu.org,
stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCHv3 1.8 1/9] qemu-img: add support for skipping zeroes in input during convert
Date: Wed, 04 Dec 2013 17:51:20 +0100 [thread overview]
Message-ID: <529F5D88.2070709@kamp.de> (raw)
In-Reply-To: <20131204164656.GF27759@stefanha-thinkpad.redhat.com>
Am 04.12.2013 17:46, schrieb Stefan Hajnoczi:
> On Wed, Nov 27, 2013 at 11:07:01AM +0100, Peter Lieven wrote:
>> + /* If the output image is being created as a copy on write
>> + * image, assume that sectors which are unallocated in the
>> + * input image are present in both the output's and input's
>> + * base images (no need to copy them). */
>> + if (out_baseimg) {
>> + if (!(ret & BDRV_BLOCK_DATA)) {
>> + sector_num += n1;
>> + continue;
>> + }
>> + /* The next 'n1' sectors are allocated in the input image.
>> + * Copy only those as they may be followed by unallocated
>> + * sectors. */
>> + nb_sectors = n1;
>> + }
>> + /* avoid redundant callouts to get_block_status */
>> + sector_num_next_status = sector_num + n1;
> Can you explain when we need sector_num_next_status? It's not clear to
> me from this patch when we will loop around already knowing that blocks
> are allocated.
We call get_block_status with MIN(INT_MAX, nb_sectors). So we might
receive an allocation status for a huge area. Later we trim the request
size to MIN(iobuf_size, nb_sectors) and eventually align the request.
For example take a fully allocated image on an iSCSI san. I can easily get
that information with the first get_block_status call, but I repeat these
calls over and over and in case of the iSCSI SAN these calls are quite
expensive.
Peter
next prev parent reply other threads:[~2013-12-04 16:51 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-27 10:07 [Qemu-devel] [PATCHv3 1.8 0/9] qemu-img convert optimizations Peter Lieven
2013-11-27 10:07 ` [Qemu-devel] [PATCHv3 1.8 1/9] qemu-img: add support for skipping zeroes in input during convert Peter Lieven
2013-11-27 10:17 ` Paolo Bonzini
2013-12-04 16:46 ` Stefan Hajnoczi
2013-12-04 16:51 ` Peter Lieven [this message]
2013-12-05 10:30 ` Stefan Hajnoczi
2013-11-27 10:07 ` [Qemu-devel] [PATCHv3 1.8 2/9] qemu-img: fix usage instruction for qemu-img convert Peter Lieven
2013-11-27 10:07 ` [Qemu-devel] [PATCHv3 1.8 3/9] block/iscsi: set bdi->cluster_size Peter Lieven
2013-11-27 10:07 ` [Qemu-devel] [PATCHv3 1.8 4/9] block: add opt_transfer_length to BlockLimits Peter Lieven
2013-11-27 10:07 ` [Qemu-devel] [PATCHv3 1.8 5/9] block/iscsi: set bs->bl.opt_transfer_length Peter Lieven
2013-11-27 10:07 ` [Qemu-devel] [PATCHv3 1.8 6/9] qemu-img: dynamically adjust iobuffer size during convert Peter Lieven
2013-12-05 13:30 ` Eric Blake
2013-11-27 10:07 ` [Qemu-devel] [PATCHv3 1.8 7/9] qemu-img: round down request length to an aligned sector Peter Lieven
2013-12-04 15:49 ` Stefan Hajnoczi
2013-12-04 15:56 ` Peter Lieven
2013-12-05 10:33 ` Stefan Hajnoczi
2013-11-27 10:07 ` [Qemu-devel] [PATCHv3 1.8 8/9] qemu-img: increase min_sparse to 128 sectors (64kb) Peter Lieven
2013-12-04 16:43 ` Stefan Hajnoczi
2013-12-04 16:46 ` Peter Lieven
2013-12-05 2:12 ` Eric Blake
2013-12-05 4:55 ` Peter Lieven
2013-12-05 10:35 ` Stefan Hajnoczi
2013-11-27 10:07 ` [Qemu-devel] [PATCHv3 1.8 9/9] qemu-img: decrease progress update interval on convert Peter Lieven
2013-12-05 12:15 ` [Qemu-devel] [PATCHv3 1.8 0/9] qemu-img convert optimizations Stefan Hajnoczi
2013-12-05 14:55 ` Peter Lieven
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=529F5D88.2070709@kamp.de \
--to=pl@kamp.de \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=stefanha@redhat.com \
/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).