From: Leandro Dorileo <l@dorileo.org>
To: Peter Lieven <pl@kamp.de>
Cc: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>,
Ronnie Sahlberg <ronniesahlberg@gmail.com>,
"Richard W.M. Jones" <rjones@redhat.com>,
Stefan Weil <sw@weilnetz.de>, Jeff Cody <jcody@redhat.com>,
qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Josh Durgin <josh.durgin@inktank.com>,
Anthony Liguori <anthony@codemonkey.ws>,
Liu Yuan <namei.unix@gmail.com>,
Luiz Capitulino <lcapitulino@redhat.com>,
Max Reitz <mreitz@redhat.com>,
MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>,
Benoit Canet <benoit@irqsave.net>
Subject: Re: [Qemu-devel] [PATCH 09/26] iscsi: migrate iscsi driver QemuOptionParameter usage
Date: Fri, 21 Mar 2014 13:31:42 +0000 [thread overview]
Message-ID: <20140321133142.GA22259@dorilex> (raw)
In-Reply-To: <532BDFA0.7050807@kamp.de>
On Fri, Mar 21, 2014 at 07:43:44AM +0100, Peter Lieven wrote:
> On 21.03.2014 01:13, Leandro Dorileo wrote:
> >Do the directly migration from QemuOptionParameter to QemuOpts on
> >iscsi block driver.
> >
> >Signed-off-by: Leandro Dorileo <l@dorileo.org>
> >---
> > block/iscsi.c | 32 ++++++++++++++++----------------
> > 1 file changed, 16 insertions(+), 16 deletions(-)
> >
> >diff --git a/block/iscsi.c b/block/iscsi.c
> >index b490e98..85252e7 100644
> >--- a/block/iscsi.c
> >+++ b/block/iscsi.c
> >@@ -1125,7 +1125,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *options, int flags,
> > QemuOpts *opts;
> > Error *local_err = NULL;
> > const char *filename;
> >- int i, ret;
> >+ int i, ret = 0;
>
> why? is there a chance that ret remains uninitialized?
Yep, my compiler tells me so:
block/iscsi.c:1128:12: error: ‘ret’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
>
> > if ((BDRV_SECTOR_SIZE % 512) != 0) {
> > error_setg(errp, "iSCSI: Invalid BDRV_SECTOR_SIZE. "
> >@@ -1382,8 +1382,7 @@ static int iscsi_truncate(BlockDriverState *bs, int64_t offset)
> > return 0;
> > }
> >-static int iscsi_create(const char *filename, QEMUOptionParameter *options,
> >- Error **errp)
> >+static int iscsi_create(const char *filename, QemuOpts *options, Error **errp)
> > {
> > int ret = 0;
> > int64_t total_size = 0;
> >@@ -1393,12 +1392,9 @@ static int iscsi_create(const char *filename, QEMUOptionParameter *options,
> > bs = bdrv_new("");
> >- /* Read out options */
> >- while (options && options->name) {
> >- if (!strcmp(options->name, "size")) {
> >- total_size = options->value.n / BDRV_SECTOR_SIZE;
> >- }
> >- options++;
> >+ total_size = qemu_opt_get_size(options, BLOCK_OPT_SIZE, 0);
> >+ if (total_size) {
> >+ total_size = total_size / BDRV_SECTOR_SIZE;
> > }
> you don't need the if condition. 0 / BDRV_SECTOR_SIZE = 0.
>
I'm not sure, bdrv_img_create() will set BLOCK_OPT_SIZE with img_size, we have no guarantee on the
value passed to bdrv_img_create(), we don't check img_size value there, having said that can't
we run on division by zero here? The previous code wasn't checking it but I wonder if the problem
wasn't there already.
> Peter
> > bs->opaque = g_malloc0(sizeof(struct IscsiLun));
> >@@ -1451,13 +1447,17 @@ static int iscsi_get_info(BlockDriverState *bs, BlockDriverInfo *bdi)
> > return 0;
> > }
> >-static QEMUOptionParameter iscsi_create_options[] = {
> >- {
> >- .name = BLOCK_OPT_SIZE,
> >- .type = OPT_SIZE,
> >- .help = "Virtual disk size"
> >+static QemuOptsList iscsi_create_options = {
> >+ .name = "iscsi_create_options",
> >+ .head = QTAILQ_HEAD_INITIALIZER(iscsi_create_options.head),
> >+ .desc = {
> >+ {
> >+ .name = BLOCK_OPT_SIZE,
> >+ .type = QEMU_OPT_SIZE,
> >+ .help = "Virtual disk size"
> >+ },
> >+ { NULL }
> > },
> >- { NULL }
> > };
> > static BlockDriver bdrv_iscsi = {
> >@@ -1469,7 +1469,7 @@ static BlockDriver bdrv_iscsi = {
> > .bdrv_file_open = iscsi_open,
> > .bdrv_close = iscsi_close,
> > .bdrv_create = iscsi_create,
> >- .create_options = iscsi_create_options,
> >+ .create_options = &iscsi_create_options,
> > .bdrv_reopen_prepare = iscsi_reopen_prepare,
> > .bdrv_getlength = iscsi_getlength,
>
>
> --
>
> Mit freundlichen Grüßen
>
> Peter Lieven
>
> ...........................................................
>
> KAMP Netzwerkdienste GmbH
> Vestische Str. 89-91 | 46117 Oberhausen
> Tel: +49 (0) 208.89 402-50 | Fax: +49 (0) 208.89 402-40
> pl@kamp.de | http://www.kamp.de
>
> Geschäftsführer: Heiner Lante | Michael Lante
> Amtsgericht Duisburg | HRB Nr. 12154
> USt-Id-Nr.: DE 120607556
>
> ...........................................................
>
>
--
Leandro Dorileo
next prev parent reply other threads:[~2014-03-21 13:33 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-21 0:13 [Qemu-devel] [PATCH 00/26] QemuOptionParameter -> QemuOpts migration Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 01/26] qapi: output def_value_str when query command line options Leandro Dorileo
2014-03-21 23:15 ` Eric Blake
2014-03-21 0:13 ` [Qemu-devel] [PATCH 02/26] add def_value_str to QemuOptDesc Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 03/26] QemuOpt: improve default value Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 04/26] QemuOpt: introduce qemu_opts_append() Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 05/26] QemuOpt: add qemu_opt_print_help() Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 06/26] block: migrate block later QemuOptionParameter Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 07/26] cow: migrate cow driver QemuOptionParameter usage Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 08/26] gluster: migrate gluster " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 09/26] iscsi: migrate iscsi " Leandro Dorileo
2014-03-21 6:43 ` Peter Lieven
2014-03-21 13:31 ` Leandro Dorileo [this message]
2014-03-21 13:34 ` Leandro Dorileo
2014-03-21 13:42 ` Peter Lieven
2014-03-21 13:54 ` Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 10/26] nfs: migrate nfs " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 11/26] qcow: migrate qcow " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 12/26] qcow2: migrate qcow2 " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 13/26] qed: migrate qed " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 14/26] raw-posix: migrate raw-posix " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 15/26] raw-win32: migrate cow " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 16/26] raw_bsd: migrate raw_bsd " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 17/26] rbd: migrate rbd " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 18/26] sheepdog: migrate sheepdog " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 19/26] ssh: migrate ssh " Leandro Dorileo
2014-03-21 8:32 ` Richard W.M. Jones
2014-03-21 0:13 ` [Qemu-devel] [PATCH 20/26] vdi: migrate vdi " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 21/26] vhdx: migrate vhdx " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 22/26] vmdk: migrate vmdk " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 23/26] vpc: migrate vpc " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 24/26] vvfat: migrate vvfat " Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 25/26] QemuOpt: get rid of QEMUOptionParameter Leandro Dorileo
2014-03-21 0:13 ` [Qemu-devel] [PATCH 26/26] qemu-img: migrate QemuOptionParameter usage Leandro Dorileo
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=20140321133142.GA22259@dorilex \
--to=l@dorileo.org \
--cc=anthony@codemonkey.ws \
--cc=armbru@redhat.com \
--cc=benoit@irqsave.net \
--cc=famz@redhat.com \
--cc=jcody@redhat.com \
--cc=josh.durgin@inktank.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=morita.kazutaka@lab.ntt.co.jp \
--cc=mreitz@redhat.com \
--cc=namei.unix@gmail.com \
--cc=pbonzini@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-devel@nongnu.org \
--cc=rjones@redhat.com \
--cc=ronniesahlberg@gmail.com \
--cc=stefanha@redhat.com \
--cc=sw@weilnetz.de \
/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.