From: Max Reitz <mreitz@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Max Reitz <mreitz@redhat.com>
Subject: [Qemu-devel] [PATCH v7 14/24] blockdev: Move "file" to legacy_opts
Date: Fri, 20 Dec 2013 19:28:14 +0100 [thread overview]
Message-ID: <1387564104-15315-15-git-send-email-mreitz@redhat.com> (raw)
In-Reply-To: <1387564104-15315-1-git-send-email-mreitz@redhat.com>
Specifying the image filename through the "file" option is a legacy
option and should not be supported by blockdev-add (in that case, giving
a string for "file" references an existing block device).
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
---
blockdev.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index e457494..386109a 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -307,12 +307,11 @@ static bool check_throttle_config(ThrottleConfig *cfg, Error **errp)
typedef enum { MEDIA_DISK, MEDIA_CDROM } DriveMediaType;
/* Takes the ownership of bs_opts */
-static DriveInfo *blockdev_init(QDict *bs_opts,
+static DriveInfo *blockdev_init(const char *file, QDict *bs_opts,
BlockInterfaceType type,
Error **errp)
{
const char *buf;
- const char *file = NULL;
const char *serial;
int ro = 0;
int bdrv_flags = 0;
@@ -354,7 +353,6 @@ static DriveInfo *blockdev_init(QDict *bs_opts,
ro = qemu_opt_get_bool(opts, "read-only", 0);
copy_on_read = qemu_opt_get_bool(opts, "copy-on-read", false);
- file = qemu_opt_get(opts, "file");
serial = qemu_opt_get(opts, "serial");
if ((buf = qemu_opt_get(opts, "discard")) != NULL) {
@@ -599,6 +597,10 @@ QemuOptsList qemu_legacy_drive_opts = {
.name = "addr",
.type = QEMU_OPT_STRING,
.help = "pci address (virtio only)",
+ },{
+ .name = "file",
+ .type = QEMU_OPT_STRING,
+ .help = "file name",
},
/* Options that are passed on, but have special semantics with -drive */
@@ -629,6 +631,7 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type)
const char *devaddr;
bool read_only = false;
bool copy_on_read;
+ const char *filename;
Error *local_err = NULL;
/* Change legacy command line options into QMP ones */
@@ -867,8 +870,10 @@ DriveInfo *drive_init(QemuOpts *all_opts, BlockInterfaceType block_default_type)
}
}
+ filename = qemu_opt_get(legacy_opts, "file");
+
/* Actual block device init: Functionality shared with blockdev-add */
- dinfo = blockdev_init(bs_opts, type, &local_err);
+ dinfo = blockdev_init(filename, bs_opts, type, &local_err);
if (dinfo == NULL) {
if (error_is_set(&local_err)) {
qerror_report_err(local_err);
@@ -2210,7 +2215,7 @@ void qmp_blockdev_add(BlockdevOptions *options, Error **errp)
qdict_flatten(qdict);
- blockdev_init(qdict, IF_NONE, &local_err);
+ blockdev_init(NULL, qdict, IF_NONE, &local_err);
if (error_is_set(&local_err)) {
error_propagate(errp, local_err);
goto fail;
@@ -2251,10 +2256,6 @@ QemuOptsList qemu_common_drive_opts = {
.type = QEMU_OPT_BOOL,
.help = "enable/disable snapshot mode",
},{
- .name = "file",
- .type = QEMU_OPT_STRING,
- .help = "disk image",
- },{
.name = "discard",
.type = QEMU_OPT_STRING,
.help = "discard operation (ignore/off, unmap/on)",
--
1.8.5.1
next prev parent reply other threads:[~2013-12-20 18:28 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-20 18:28 [Qemu-devel] [PATCH v7 00/24] blkdebug/blkverify: Allow QMP configuration Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 01/24] blkdebug: Use errp for read_config() Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 02/24] blkdebug: Don't require sophisticated filename Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 03/24] qdict: Add qdict_array_split() Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 04/24] qapi: extend qdict_flatten() for QLists Max Reitz
2013-12-20 20:00 ` Eric Blake
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 05/24] qemu-option: Add qemu_config_parse_qdict() Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 06/24] blkdebug: Always call read_config() Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 07/24] blkdebug: Use command-line in read_config() Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 08/24] block: Allow reference for bdrv_file_open() Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 09/24] block: Pass reference to bdrv_file_open() Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 10/24] block: Allow block devices without files Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 11/24] block: Add bdrv_open_image() Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 12/24] block: Use bdrv_open_image() in bdrv_open() Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 13/24] block: Allow recursive "file"s Max Reitz
2013-12-20 18:28 ` Max Reitz [this message]
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 15/24] blkdebug: Allow command-line file configuration Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 16/24] blkverify: Allow command-line configuration Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 17/24] blkverify: Don't require protocol filename Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 18/24] qapi: Add "errno" to the list of polluted words Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 19/24] qapi: QMP interface for blkdebug and blkverify Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 20/24] qemu-io: Make filename optional Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 21/24] tests: Add test for qdict_array_split() Max Reitz
2013-12-20 19:52 ` Eric Blake
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 22/24] tests: Add test for qdict_flatten() Max Reitz
2013-12-20 19:54 ` Eric Blake
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 23/24] iotests: Test new blkdebug/blkverify interface Max Reitz
2013-12-20 18:28 ` [Qemu-devel] [PATCH v7 24/24] iotests: Test file format nesting Max Reitz
2014-01-08 18:24 ` [Qemu-devel] [PATCH v7 00/24] blkdebug/blkverify: Allow QMP configuration 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=1387564104-15315-15-git-send-email-mreitz@redhat.com \
--to=mreitz@redhat.com \
--cc=famz@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 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).