Skip to content

Commit

Permalink
block: Remove deprecated -drive option serial
Browse files Browse the repository at this point in the history
The -drive option serial was deprecated in QEMU 2.10. It's time to
remove it.

Tests need to be updated to set the serial number with -global instead
of using the -drive option.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
  • Loading branch information
kevmw committed Jun 15, 2018
1 parent eae3bd1 commit b008326
Show file tree
Hide file tree
Showing 14 changed files with 8 additions and 48 deletions.
1 change: 0 additions & 1 deletion block/block-backend.c
Expand Up @@ -419,7 +419,6 @@ static void drive_info_del(DriveInfo *dinfo)
return;
}
qemu_opts_del(dinfo->opts);
g_free(dinfo->serial);
g_free(dinfo);
}

Expand Down
10 changes: 0 additions & 10 deletions blockdev.c
Expand Up @@ -730,10 +730,6 @@ QemuOptsList qemu_legacy_drive_opts = {
.name = "if",
.type = QEMU_OPT_STRING,
.help = "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)",
},{
.name = "serial",
.type = QEMU_OPT_STRING,
.help = "disk serial number",
},{
.name = "file",
.type = QEMU_OPT_STRING,
Expand Down Expand Up @@ -776,12 +772,10 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
const char *werror, *rerror;
bool read_only = false;
bool copy_on_read;
const char *serial;
const char *filename;
Error *local_err = NULL;
int i;
const char *deprecated[] = {
"serial"
};

/* Change legacy command line options into QMP ones */
Expand Down Expand Up @@ -949,9 +943,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
goto fail;
}

/* Serial number */
serial = qemu_opt_get(legacy_opts, "serial");

/* no id supplied -> create one */
if (qemu_opts_id(all_opts) == NULL) {
char *new_id;
Expand Down Expand Up @@ -1026,7 +1017,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type)
dinfo->type = type;
dinfo->bus = bus_id;
dinfo->unit = unit_id;
dinfo->serial = g_strdup(serial);

blk_set_legacy_dinfo(blk, dinfo);

Expand Down
13 changes: 0 additions & 13 deletions hw/block/block.c
Expand Up @@ -15,19 +15,6 @@
#include "qapi/qapi-types-block.h"
#include "qemu/error-report.h"

void blkconf_serial(BlockConf *conf, char **serial)
{
DriveInfo *dinfo;

if (!*serial) {
/* try to fall back to value set with legacy -drive serial=... */
dinfo = blk_legacy_dinfo(conf->blk);
if (dinfo) {
*serial = g_strdup(dinfo->serial);
}
}
}

void blkconf_blocksizes(BlockConf *conf)
{
BlockBackend *blk = conf->blk;
Expand Down
1 change: 0 additions & 1 deletion hw/block/nvme.c
Expand Up @@ -1215,7 +1215,6 @@ static void nvme_realize(PCIDevice *pci_dev, Error **errp)
return;
}

blkconf_serial(&n->conf, &n->serial);
if (!n->serial) {
error_setg(errp, "serial property not set");
return;
Expand Down
1 change: 0 additions & 1 deletion hw/block/virtio-blk.c
Expand Up @@ -935,7 +935,6 @@ static void virtio_blk_device_realize(DeviceState *dev, Error **errp)
return;
}

blkconf_serial(&conf->conf, &conf->serial);
if (!blkconf_apply_backend_options(&conf->conf,
blk_is_read_only(conf->conf.blk), true,
errp)) {
Expand Down
1 change: 0 additions & 1 deletion hw/ide/qdev.c
Expand Up @@ -188,7 +188,6 @@ static void ide_dev_initfn(IDEDevice *dev, IDEDriveKind kind, Error **errp)
return;
}

blkconf_serial(&dev->conf, &dev->serial);
if (kind != IDE_CD) {
if (!blkconf_geometry(&dev->conf, &dev->chs_trans, 65535, 16, 255,
errp)) {
Expand Down
1 change: 0 additions & 1 deletion hw/scsi/scsi-disk.c
Expand Up @@ -2368,7 +2368,6 @@ static void scsi_realize(SCSIDevice *dev, Error **errp)
return;
}

blkconf_serial(&s->qdev.conf, &s->serial);
blkconf_blocksizes(&s->qdev.conf);

if (s->qdev.conf.logical_block_size >
Expand Down
1 change: 0 additions & 1 deletion hw/usb/dev-storage.c
Expand Up @@ -606,7 +606,6 @@ static void usb_msd_storage_realize(USBDevice *dev, Error **errp)
return;
}

blkconf_serial(&s->conf, &dev->serial);
blkconf_blocksizes(&s->conf);
if (!blkconf_apply_backend_options(&s->conf, blk_is_read_only(blk), true,
errp)) {
Expand Down
1 change: 0 additions & 1 deletion include/hw/block/block.h
Expand Up @@ -72,7 +72,6 @@ static inline unsigned int get_physical_block_exp(BlockConf *conf)

/* Configuration helpers */

void blkconf_serial(BlockConf *conf, char **serial);
bool blkconf_geometry(BlockConf *conf, int *trans,
unsigned cyls_max, unsigned heads_max, unsigned secs_max,
Error **errp);
Expand Down
1 change: 0 additions & 1 deletion include/sysemu/blockdev.h
Expand Up @@ -35,7 +35,6 @@ struct DriveInfo {
bool is_default; /* Added by default_drive() ? */
int media_cd;
QemuOpts *opts;
char *serial;
QTAILQ_ENTRY(DriveInfo) next;
};

Expand Down
5 changes: 0 additions & 5 deletions qemu-doc.texi
Expand Up @@ -2850,11 +2850,6 @@ with ``-device ...,netdev=x''), or ``-nic user,smb=/some/dir''
(for embedded NICs). The new syntax allows different settings to be
provided per NIC.

@subsection -drive serial=... (since 2.10.0)

The drive serial argument is replaced by the the serial 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
Expand Down
6 changes: 1 addition & 5 deletions qemu-options.hx
Expand Up @@ -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][,rerror=ignore|stop|report]\n"
" [,snapshot=on|off][,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"
Expand Down Expand Up @@ -879,10 +879,6 @@ The default mode is @option{cache=writeback}.
Specify which disk @var{format} will be used rather than detecting
the format. Can be used to specify format=raw to avoid interpreting
an untrusted format header.
@item serial=@var{serial}
This option specifies the serial number to assign to the device. 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),
Expand Down
6 changes: 3 additions & 3 deletions tests/ahci-test.c
Expand Up @@ -180,12 +180,12 @@ static AHCIQState *ahci_boot(const char *cli, ...)
s = ahci_vboot(cli, ap);
va_end(ap);
} else {
cli = "-drive if=none,id=drive0,file=%s,cache=writeback,serial=%s"
",format=%s"
cli = "-drive if=none,id=drive0,file=%s,cache=writeback,format=%s"
" -M q35 "
"-device ide-hd,drive=drive0 "
"-global ide-hd.serial=%s "
"-global ide-hd.ver=%s";
s = ahci_boot(cli, tmp_path, "testdisk", imgfmt, "version");
s = ahci_boot(cli, tmp_path, imgfmt, "testdisk", "version");
}

return s;
Expand Down
8 changes: 4 additions & 4 deletions tests/ide-test.c
Expand Up @@ -529,8 +529,8 @@ static void test_bmdma_no_busmaster(void)
static void test_bmdma_setup(void)
{
ide_test_start(
"-drive file=%s,if=ide,serial=%s,cache=writeback,format=raw "
"-global ide-hd.ver=%s",
"-drive file=%s,if=ide,cache=writeback,format=raw "
"-global ide-hd.serial=%s -global ide-hd.ver=%s",
tmp_path, "testdisk", "version");
qtest_irq_intercept_in(global_qtest, "ioapic");
}
Expand Down Expand Up @@ -561,8 +561,8 @@ static void test_identify(void)
int ret;

ide_test_start(
"-drive file=%s,if=ide,serial=%s,cache=writeback,format=raw "
"-global ide-hd.ver=%s",
"-drive file=%s,if=ide,cache=writeback,format=raw "
"-global ide-hd.serial=%s -global ide-hd.ver=%s",
tmp_path, "testdisk", "version");

dev = get_pci_device(&bmdma_bar, &ide_bar);
Expand Down

0 comments on commit b008326

Please sign in to comment.