The -drive option addr was deprecated in QEMU 2.10. It's time to remove
it.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
include/sysemu/blockdev.h | 1 -
blockdev.c | 17 +----------------
device-hotplug.c | 4 ----
qemu-doc.texi | 5 -----
qemu-options.hx | 5 +----
5 files changed, 2 insertions(+), 30 deletions(-)
diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
index 37ea39719e..c0ae3700ec 100644
--- a/include/sysemu/blockdev.h
+++ b/include/sysemu/blockdev.h
@@ -28,7 +28,6 @@ typedef enum {
} BlockInterfaceType;
struct DriveInfo {
- const char *devaddr;
BlockInterfaceType type;
int bus;
int unit;
diff --git a/blockdev.c b/blockdev.c
index 9c891706ef..83b3cc12e9 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -730,10 +730,6 @@ QemuOptsList qemu_legacy_drive_opts = {
.type = QEMU_OPT_STRING,
.help = "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)",
},{
- .name = "addr",
- .type = QEMU_OPT_STRING,
- .help = "pci address (virtio only)",
- },{
.name = "serial",
.type = QEMU_OPT_STRING,
.help = "disk serial number",
@@ -776,7 +772,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
DriveMediaType media = MEDIA_DISK;
BlockInterfaceType type;
int max_devs, bus_id, unit_id, index;
- const char *devaddr;
const char *werror, *rerror;
bool read_only = false;
bool copy_on_read;
@@ -785,7 +780,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
Error *local_err = NULL;
int i;
const char *deprecated[] = {
- "serial", "addr"
+ "serial"
};
/* Change legacy command line options into QMP ones */
@@ -975,12 +970,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
}
/* Add virtio block device */
- devaddr = qemu_opt_get(legacy_opts, "addr");
- if (devaddr && type != IF_VIRTIO) {
- error_report("addr is not supported by this bus type");
- goto fail;
- }
-
if (type == IF_VIRTIO) {
QemuOpts *devopts;
devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 0,
@@ -992,9 +981,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
}
qemu_opt_set(devopts, "drive", qdict_get_str(bs_opts, "id"),
&error_abort);
- if (devaddr) {
- qemu_opt_set(devopts, "addr", devaddr, &error_abort);
- }
}
filename = qemu_opt_get(legacy_opts, "file");
@@ -1039,7 +1025,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
dinfo->type = type;
dinfo->bus = bus_id;
dinfo->unit = unit_id;
- dinfo->devaddr = devaddr;
dinfo->serial = g_strdup(serial);
blk_set_legacy_dinfo(blk, dinfo);
diff --git a/device-hotplug.c b/device-hotplug.c
index 23fd6656f1..cd427e2c76 100644
--- a/device-hotplug.c
+++ b/device-hotplug.c
@@ -69,10 +69,6 @@ void hmp_drive_add(Monitor *mon, const QDict *qdict)
if (!dinfo) {
goto err;
}
- if (dinfo->devaddr) {
- monitor_printf(mon, "Parameter addr not supported\n");
- goto err;
- }
switch (dinfo->type) {
case IF_NONE:
diff --git a/qemu-doc.texi b/qemu-doc.texi
index ab95bffc74..338477725f 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -2855,11 +2855,6 @@ provided per NIC.
The drive serial argument is replaced by the the serial argument
that can be specified with the ``-device'' parameter.
-@subsection -drive addr=... (since 2.10.0)
-
-The drive addr argument is replaced by the the addr argument
-that can be specified with the ``-device'' parameter.
-
@subsection -usbdevice (since 2.10.0)
The ``-usbdevice DEV'' argument is now a synonym for setting
diff --git a/qemu-options.hx b/qemu-options.hx
index a14b9655c5..c2531e2f3c 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -805,7 +805,7 @@ ETEXI
DEF("drive", HAS_ARG, QEMU_OPTION_drive,
"-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n"
" [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n"
- " [,snapshot=on|off][,serial=s][,addr=A][,rerror=ignore|stop|report]\n"
+ " [,snapshot=on|off][,serial=s][,rerror=ignore|stop|report]\n"
" [,werror=ignore|stop|report|enospc][,id=name][,aio=threads|native]\n"
" [,readonly=on|off][,copy-on-read=on|off]\n"
" [,discard=ignore|unmap][,detect-zeroes=on|off|unmap]\n"
@@ -883,9 +883,6 @@ an untrusted format header.
This option specifies the serial number to assign to the device. This
parameter is deprecated, use the corresponding parameter of @code{-device}
instead.
-@item addr=@var{addr}
-Specify the controller's PCI address (if=virtio only). This parameter is
-deprecated, use the corresponding parameter of @code{-device} instead.
@item werror=@var{action},rerror=@var{action}
Specify which @var{action} to take on write and read errors. Valid actions are:
"ignore" (ignore the error and try to continue), "stop" (pause QEMU),
--
2.13.6
Kevin Wolf <kwolf@redhat.com> writes: > The -drive option addr was deprecated in QEMU 2.10. It's time to remove > it. > > Signed-off-by: Kevin Wolf <kwolf@redhat.com> One of my first additions to QEMU... and a bit of an embarrassment. Reviewed-by: Markus Armbruster <armbru@redhat.com>
On Wed, Jun 13, 2018 at 02:34:57PM +0200, Kevin Wolf wrote:
> The -drive option addr was deprecated in QEMU 2.10. It's time to remove
> it.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
> ---
> include/sysemu/blockdev.h | 1 -
> blockdev.c | 17 +----------------
> device-hotplug.c | 4 ----
> qemu-doc.texi | 5 -----
> qemu-options.hx | 5 +----
> 5 files changed, 2 insertions(+), 30 deletions(-)
>
> diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h
> index 37ea39719e..c0ae3700ec 100644
> --- a/include/sysemu/blockdev.h
> +++ b/include/sysemu/blockdev.h
> @@ -28,7 +28,6 @@ typedef enum {
> } BlockInterfaceType;
>
> struct DriveInfo {
> - const char *devaddr;
> BlockInterfaceType type;
> int bus;
> int unit;
> diff --git a/blockdev.c b/blockdev.c
> index 9c891706ef..83b3cc12e9 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -730,10 +730,6 @@ QemuOptsList qemu_legacy_drive_opts = {
> .type = QEMU_OPT_STRING,
> .help = "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)",
> },{
> - .name = "addr",
> - .type = QEMU_OPT_STRING,
> - .help = "pci address (virtio only)",
> - },{
> .name = "serial",
> .type = QEMU_OPT_STRING,
> .help = "disk serial number",
> @@ -776,7 +772,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> DriveMediaType media = MEDIA_DISK;
> BlockInterfaceType type;
> int max_devs, bus_id, unit_id, index;
> - const char *devaddr;
> const char *werror, *rerror;
> bool read_only = false;
> bool copy_on_read;
> @@ -785,7 +780,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> Error *local_err = NULL;
> int i;
> const char *deprecated[] = {
> - "serial", "addr"
> + "serial"
> };
>
> /* Change legacy command line options into QMP ones */
> @@ -975,12 +970,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> }
>
> /* Add virtio block device */
> - devaddr = qemu_opt_get(legacy_opts, "addr");
> - if (devaddr && type != IF_VIRTIO) {
> - error_report("addr is not supported by this bus type");
> - goto fail;
> - }
> -
> if (type == IF_VIRTIO) {
> QemuOpts *devopts;
> devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 0,
> @@ -992,9 +981,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> }
> qemu_opt_set(devopts, "drive", qdict_get_str(bs_opts, "id"),
> &error_abort);
> - if (devaddr) {
> - qemu_opt_set(devopts, "addr", devaddr, &error_abort);
> - }
> }
>
> filename = qemu_opt_get(legacy_opts, "file");
> @@ -1039,7 +1025,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
> dinfo->type = type;
> dinfo->bus = bus_id;
> dinfo->unit = unit_id;
> - dinfo->devaddr = devaddr;
> dinfo->serial = g_strdup(serial);
>
> blk_set_legacy_dinfo(blk, dinfo);
> diff --git a/device-hotplug.c b/device-hotplug.c
> index 23fd6656f1..cd427e2c76 100644
> --- a/device-hotplug.c
> +++ b/device-hotplug.c
> @@ -69,10 +69,6 @@ void hmp_drive_add(Monitor *mon, const QDict *qdict)
> if (!dinfo) {
> goto err;
> }
> - if (dinfo->devaddr) {
> - monitor_printf(mon, "Parameter addr not supported\n");
> - goto err;
> - }
>
> switch (dinfo->type) {
> case IF_NONE:
> diff --git a/qemu-doc.texi b/qemu-doc.texi
> index ab95bffc74..338477725f 100644
> --- a/qemu-doc.texi
> +++ b/qemu-doc.texi
> @@ -2855,11 +2855,6 @@ provided per NIC.
> The drive serial argument is replaced by the the serial argument
> that can be specified with the ``-device'' parameter.
>
> -@subsection -drive addr=... (since 2.10.0)
> -
> -The drive addr argument is replaced by the the addr argument
> -that can be specified with the ``-device'' parameter.
> -
> @subsection -usbdevice (since 2.10.0)
>
> The ``-usbdevice DEV'' argument is now a synonym for setting
> diff --git a/qemu-options.hx b/qemu-options.hx
> index a14b9655c5..c2531e2f3c 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -805,7 +805,7 @@ ETEXI
> DEF("drive", HAS_ARG, QEMU_OPTION_drive,
> "-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]\n"
> " [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n"
> - " [,snapshot=on|off][,serial=s][,addr=A][,rerror=ignore|stop|report]\n"
> + " [,snapshot=on|off][,serial=s][,rerror=ignore|stop|report]\n"
> " [,werror=ignore|stop|report|enospc][,id=name][,aio=threads|native]\n"
> " [,readonly=on|off][,copy-on-read=on|off]\n"
> " [,discard=ignore|unmap][,detect-zeroes=on|off|unmap]\n"
> @@ -883,9 +883,6 @@ an untrusted format header.
> This option specifies the serial number to assign to the device. This
> parameter is deprecated, use the corresponding parameter of @code{-device}
> instead.
> -@item addr=@var{addr}
> -Specify the controller's PCI address (if=virtio only). This parameter is
> -deprecated, use the corresponding parameter of @code{-device} instead.
> @item werror=@var{action},rerror=@var{action}
> Specify which @var{action} to take on write and read errors. Valid actions are:
> "ignore" (ignore the error and try to continue), "stop" (pause QEMU),
> --
> 2.13.6
>
>
© 2016 - 2026 Red Hat, Inc.