All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wen Congyang <wency@cn.fujitsu.com>
To: Kevin Wolf <kwolf@redhat.com>, qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, mreitz@redhat.com
Subject: Re: [Qemu-devel] [PATCH v2 14/21] blockdev: Set 'format' indicates non-empty drive
Date: Tue, 24 Nov 2015 17:37:45 +0800	[thread overview]
Message-ID: <56542FE9.8090704@cn.fujitsu.com> (raw)
In-Reply-To: <1448294400-476-15-git-send-email-kwolf@redhat.com>

On 11/23/2015 11:59 PM, Kevin Wolf wrote:
> Creating an empty drive while specifying 'format' doesn't make sense.
> The specified format driver would simply be ignored.
> 
> Make a set 'format' option an indication that a non-empty drive should
> be created. This makes 'format' consistent with 'driver' and allows
> using it with a block driver that doesn't need any other options (like
> null-co/null-aio).

After this patch, make check will fail:
GTESTER check-qtest-x86_64
blkdebug: Suspended request 'A'
blkdebug: Resuming request 'A'
qemu-system-x86_64: -drive id=drive0,if=ide,format=raw,index=0,media=cdrom: Can't use 'raw' as a block driver for the protocol level
Broken pipe
GTester: last random seed: R02S30363735a5ceb1b5e3967086fe0faf60
qemu-system-x86_64: -drive id=drive2,if=ide,format=raw,index=2,media=cdrom: Can't use 'raw' as a block driver for the protocol level
Broken pipe
GTester: last random seed: R02S900c9c9fe15d4866eeedf04b9c3e15eb
qemu-system-x86_64: -drive id=drive2,if=ide,format=raw,index=2,media=cdrom: Can't use 'raw' as a block driver for the protocol level
Broken pipe
GTester: last random seed: R02S7b91f40b4832e7a8dc58090ab2316d3e
qemu-system-x86_64: -drive id=drive2,if=ide,format=raw,index=2,media=cdrom: Can't use 'raw' as a block driver for the protocol level
Broken pipe
GTester: last random seed: R02S554ea2416720809b0b192625a0a03d4e
qemu-system-x86_64: -drive id=drive2,if=none,format=raw,media=cdrom: Can't use 'raw' as a block driver for the protocol level
Broken pipe
GTester: last random seed: R02Sc0a31724f0aee48215f32c39093bfc70
qemu-system-x86_64: -drive id=drive2,if=none,format=raw,media=cdrom: Can't use 'raw' as a block driver for the protocol level
Broken pipe
GTester: last random seed: R02S090ae3723fe809a4ee5a077b620fed12
qemu-system-x86_64: -drive id=drive2,if=none,format=raw,media=cdrom: Can't use 'raw' as a block driver for the protocol level
Broken pipe
GTester: last random seed: R02Sf378037d36c71e1666ee8547dbf276f3

Thanks
Wen Congyang

> 
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>  blockdev.c                    | 5 +----
>  tests/qemu-iotests/iotests.py | 2 +-
>  2 files changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/blockdev.c b/blockdev.c
> index 313841b..afaeef9 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -490,7 +490,6 @@ static BlockBackend *blockdev_init(const char *file, QDict *bs_opts,
>      QDict *interval_dict = NULL;
>      QList *interval_list = NULL;
>      const char *id;
> -    bool has_driver_specific_opts;
>      BlockdevDetectZeroesOptions detect_zeroes =
>          BLOCKDEV_DETECT_ZEROES_OPTIONS_OFF;
>      const char *throttling_group = NULL;
> @@ -514,8 +513,6 @@ static BlockBackend *blockdev_init(const char *file, QDict *bs_opts,
>          qdict_del(bs_opts, "id");
>      }
>  
> -    has_driver_specific_opts = !!qdict_size(bs_opts);
> -
>      /* extract parameters */
>      snapshot = qemu_opt_get_bool(opts, "snapshot", 0);
>  
> @@ -578,7 +575,7 @@ static BlockBackend *blockdev_init(const char *file, QDict *bs_opts,
>      }
>  
>      /* init */
> -    if ((!file || !*file) && !has_driver_specific_opts) {
> +    if ((!file || !*file) && !qdict_size(bs_opts)) {
>          BlockBackendRootState *blk_rs;
>  
>          blk = blk_new(qemu_opts_id(opts), errp);
> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
> index ff5905f..f36add8 100644
> --- a/tests/qemu-iotests/iotests.py
> +++ b/tests/qemu-iotests/iotests.py
> @@ -143,12 +143,12 @@ class VM(object):
>      def add_drive(self, path, opts='', interface='virtio'):
>          '''Add a virtio-blk drive to the VM'''
>          options = ['if=%s' % interface,
> -                   'format=%s' % imgfmt,
>                     'cache=%s' % cachemode,
>                     'id=drive%d' % self._num_drives]
>  
>          if path is not None:
>              options.append('file=%s' % path)
> +            options.append('format=%s' % imgfmt)
>  
>          if opts:
>              options.append(opts)
> 


-- 
This message has been scanned for viruses and
dangerous content by Fujitsu, and is believed to be clean.

  reply	other threads:[~2015-11-24  9:39 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-23 15:59 [Qemu-devel] [PATCH v2 00/21] block: Cache mode for children etc Kevin Wolf
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 01/21] qcow2: Add .bdrv_join_options callback Kevin Wolf
2015-11-27 16:51   ` Max Reitz
2015-11-30 14:05   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 02/21] block: Fix reopen with semantically overlapping options Kevin Wolf
2015-11-27 16:56   ` Max Reitz
2015-11-30 14:08   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 03/21] mirror: Error out when a BDS would get two BBs Kevin Wolf
2015-11-27 17:06   ` Max Reitz
2015-11-30 14:51   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2015-12-04 13:18     ` Kevin Wolf
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 04/21] block: Allow references for backing files Kevin Wolf
2015-11-27 17:28   ` Max Reitz
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 05/21] block: Consider all block layer options in append_open_options Kevin Wolf
2015-11-30 15:59   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 06/21] block: Exclude nested options only for children in append_open_options() Kevin Wolf
2015-11-24  1:03   ` Wen Congyang
2015-11-27 17:58   ` Max Reitz
2015-11-27 18:02     ` Max Reitz
2015-11-30  9:01     ` Kevin Wolf
2015-11-30 16:13       ` Max Reitz
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 07/21] block: Pass driver-specific options to .bdrv_refresh_filename() Kevin Wolf
2015-12-02 14:06   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 08/21] block: Keep "driver" in bs->options Kevin Wolf
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 09/21] block: Allow specifying child options in reopen Kevin Wolf
2015-12-02 14:22   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 10/21] block: reopen: Document option precedence and refactor accordingly Kevin Wolf
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 11/21] block: Add infrastructure for option inheritance Kevin Wolf
2015-11-27 18:09   ` Max Reitz
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 12/21] block: Split out parse_json_protocol() Kevin Wolf
2015-11-27 18:22   ` Max Reitz
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 13/21] block: Introduce bs->explicit_options Kevin Wolf
2015-11-27 18:38   ` Max Reitz
2016-01-08  9:18   ` Paolo Bonzini
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 14/21] blockdev: Set 'format' indicates non-empty drive Kevin Wolf
2015-11-24  9:37   ` Wen Congyang [this message]
2015-11-27 19:08   ` Max Reitz
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 15/21] qemu-iotests: Remove cache mode test without medium Kevin Wolf
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 16/21] block: reopen: Extract QemuOpts for generic block layer options Kevin Wolf
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 17/21] block: Move cache options into options QDict Kevin Wolf
2015-11-27 19:57   ` Max Reitz
2015-11-30  9:37     ` Kevin Wolf
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 18/21] blkdebug: Enable reopen Kevin Wolf
2015-11-27 19:57   ` Max Reitz
2015-12-02 14:38   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 19/21] qemu-iotests: Try setting cache mode for children Kevin Wolf
2015-11-23 15:59 ` [Qemu-devel] [PATCH v2 20/21] qemu-iotests: Test cache mode option inheritance Kevin Wolf
2015-11-27 21:12   ` Max Reitz
2015-11-30 10:32     ` Kevin Wolf
2015-11-23 16:00 ` [Qemu-devel] [PATCH v2 21/21] qemu-iotests: Test reopen with node-name/driver options 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=56542FE9.8090704@cn.fujitsu.com \
    --to=wency@cn.fujitsu.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@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 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.