From: Eric Blake <eblake@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-devel@nongnu.org, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH 08/15] curl: Use bdrv_open options instead of filename
Date: Mon, 15 Apr 2013 13:57:52 -0600 [thread overview]
Message-ID: <516C5BC0.5030803@redhat.com> (raw)
In-Reply-To: <1365799688-19918-9-git-send-email-kwolf@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2991 bytes --]
On 04/12/2013 02:48 PM, Kevin Wolf wrote:
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
> block/curl.c | 153 +++++++++++++++++++++++++++++++++++++++--------------------
> 1 file changed, 102 insertions(+), 51 deletions(-)
>
> @@ -369,29 +364,78 @@ static int curl_open(BlockDriverState *bs, const char *filename,
> ra_val = ra + 1;
> ra -= strlen(RA_OPTSTR) - 1;
> *ra = '\0';
> - s->readahead_size = atoi(ra_val);
Good riddance - atoi() is evil because it can't detect overflow.
> - break;
> - } else {
> - break;
> + qdict_put(options, "readahead", qstring_from_str(ra_val));
So now we just pass the string on to the option parser,...
> +static QemuOptsList runtime_opts = {
> + .name = "curl",
> + .head = QTAILQ_HEAD_INITIALIZER(runtime_opts.head),
> + .desc = {
> + {
> + .name = "url",
> + .type = QEMU_OPT_STRING,
> + .help = "URL to open",
> + },
> + {
> + .name = "readahead",
> + .type = QEMU_OPT_SIZE,
> + .help = "Readahead size",
...and this new option lets QEMU_OPT_SIZE detect crazy strings that were
previously treated as '0' by the old atoi(). You should probably
mention this bug fix in the commit message as being intentional.
> @@ -568,63 +614,68 @@ static int64_t curl_getlength(BlockDriverState *bs)
> }
>
> static BlockDriver bdrv_http = {
> - .format_name = "http",
> - .protocol_name = "http",
> + .format_name = "http",
> + .protocol_name = "http",
>
> - .instance_size = sizeof(BDRVCURLState),
> - .bdrv_file_open = curl_open,
> - .bdrv_close = curl_close,
> - .bdrv_getlength = curl_getlength,
> + .instance_size = sizeof(BDRVCURLState),
> + .bdrv_parse_filename = curl_parse_filename,
> + .bdrv_file_open = curl_open,
> + .bdrv_close = curl_close,
> + .bdrv_getlength = curl_getlength,
>
> - .bdrv_aio_readv = curl_aio_readv,
> + .bdrv_aio_readv = curl_aio_readv,
On this patch, you reindented ALL callbacks to the same width. But in
6/15 and 7/15, you reindented only the callbacks in the
.bdrv_parse_filename section. You should probably be consistent between
patches (I actually prefer indenting the entire BlockDriver
initialization consistently, as done in this patch, but didn't ding
patch 6 or 7 at the time because they looked innocuous enough in isolation).
Since I only called out whitespace issues (and even then, only for
commits other than this) and a weakness in the commit message, the code
itself deserves:
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]
next prev parent reply other threads:[~2013-04-15 19:57 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-12 20:47 [Qemu-devel] [PATCH 00/15] block: Overriding the backing file with -drive Kevin Wolf
2013-04-12 20:47 ` [Qemu-devel] [PATCH 01/15] block: Fail gracefully when using a format driver on protocol level Kevin Wolf
2013-04-12 22:50 ` Eric Blake
2013-04-15 9:06 ` Kevin Wolf
2013-04-15 12:02 ` Markus Armbruster
2013-04-12 20:47 ` [Qemu-devel] [PATCH 02/15] block: Add driver-specific options for backing files Kevin Wolf
2013-04-15 17:38 ` Eric Blake
2013-04-12 20:47 ` [Qemu-devel] [PATCH 03/15] block: Enable filename option Kevin Wolf
2013-04-15 17:43 ` Eric Blake
2013-04-12 20:47 ` [Qemu-devel] [PATCH 04/15] raw-posix: Use bdrv_open options instead of filename Kevin Wolf
2013-04-15 17:52 ` Eric Blake
2013-04-12 20:47 ` [Qemu-devel] [PATCH 05/15] raw-win32: " Kevin Wolf
2013-04-15 19:16 ` Eric Blake
2013-04-12 20:47 ` [Qemu-devel] [PATCH 06/15] blkdebug: " Kevin Wolf
2013-04-15 19:43 ` Eric Blake
2013-04-12 20:48 ` [Qemu-devel] [PATCH 07/15] blkverify: " Kevin Wolf
2013-04-15 19:47 ` Eric Blake
2013-04-12 20:48 ` [Qemu-devel] [PATCH 08/15] curl: " Kevin Wolf
2013-04-15 19:57 ` Eric Blake [this message]
2013-04-12 20:48 ` [Qemu-devel] [PATCH 09/15] gluster: " Kevin Wolf
2013-04-15 20:07 ` Eric Blake
2013-04-12 20:48 ` [Qemu-devel] [PATCH 10/15] iscsi: " Kevin Wolf
2013-04-15 20:26 ` Eric Blake
2013-04-12 20:48 ` [Qemu-devel] [PATCH 11/15] rbd: " Kevin Wolf
2013-04-15 20:27 ` Eric Blake
2013-04-12 20:48 ` [Qemu-devel] [PATCH 12/15] sheepdog: " Kevin Wolf
2013-04-15 20:29 ` Eric Blake
2013-04-12 20:48 ` [Qemu-devel] [PATCH 13/15] vvfat: " Kevin Wolf
2013-04-15 20:44 ` Eric Blake
2013-04-12 20:48 ` [Qemu-devel] [PATCH 14/15] block: Remove filename parameter from .bdrv_file_open() Kevin Wolf
2013-04-15 20:47 ` Eric Blake
2013-04-22 9:41 ` [Qemu-devel] [PATCH v2 " Kevin Wolf
2013-04-12 20:48 ` [Qemu-devel] [PATCH 15/15] block: Allow overriding backing.file.filename Kevin Wolf
2013-04-15 21:03 ` Eric Blake
2013-04-18 11:42 ` [Qemu-devel] [PATCH 00/15] block: Overriding the backing file with -drive Stefan Hajnoczi
2013-04-18 13:34 ` Kevin Wolf
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=516C5BC0.5030803@redhat.com \
--to=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--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 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.