[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 24/27] blockdev: Hide QEMUMachine from drive_init()
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 24/27] blockdev: Hide QEMUMachine from drive_init() |
Date: |
Fri, 4 Jun 2010 18:33:12 +0200 |
From: Markus Armbruster <address@hidden>
To pave the way for moving it out of vl.c.
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
hw/device-hotplug.c | 2 +-
hw/usb-msd.c | 2 +-
sysemu.h | 3 ++-
vl.c | 12 +++++-------
4 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/hw/device-hotplug.c b/hw/device-hotplug.c
index 9cc8376..a3fe99e 100644
--- a/hw/device-hotplug.c
+++ b/hw/device-hotplug.c
@@ -38,7 +38,7 @@ DriveInfo *add_init_drive(const char *optstr)
if (!opts)
return NULL;
- dinfo = drive_init(opts, current_machine, &fatal_error);
+ dinfo = drive_init(opts, current_machine->use_scsi, &fatal_error);
if (!dinfo) {
qemu_opts_del(opts);
return NULL;
diff --git a/hw/usb-msd.c b/hw/usb-msd.c
index c1c2537..0ba4a64 100644
--- a/hw/usb-msd.c
+++ b/hw/usb-msd.c
@@ -584,7 +584,7 @@ static USBDevice *usb_msd_init(const char *filename)
qemu_opt_set(opts, "if", "none");
/* create host drive */
- dinfo = drive_init(opts, NULL, &fatal_error);
+ dinfo = drive_init(opts, 0, &fatal_error);
if (!dinfo) {
qemu_opts_del(opts);
return NULL;
diff --git a/sysemu.h b/sysemu.h
index fd83b7d..46a1b2f 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -191,7 +191,8 @@ extern BlockInterfaceErrorAction drive_get_on_error(
BlockDriverState *qdev_init_bdrv(DeviceState *dev, BlockInterfaceType type);
extern QemuOpts *drive_add(const char *file, const char *fmt, ...);
-extern DriveInfo *drive_init(QemuOpts *arg, void *machine, int *fatal_error);
+extern DriveInfo *drive_init(QemuOpts *arg, int default_to_scsi,
+ int *fatal_error);
/* device-hotplug */
diff --git a/vl.c b/vl.c
index 551138f..db1fefd 100644
--- a/vl.c
+++ b/vl.c
@@ -767,8 +767,7 @@ static int parse_block_error_action(const char *buf, int
is_read)
}
}
-DriveInfo *drive_init(QemuOpts *opts, void *opaque,
- int *fatal_error)
+DriveInfo *drive_init(QemuOpts *opts, int default_to_scsi, int *fatal_error)
{
const char *buf;
const char *file = NULL;
@@ -780,7 +779,6 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque,
int bus_id, unit_id;
int cyls, heads, secs, translation;
BlockDriver *drv = NULL;
- QEMUMachine *machine = opaque;
int max_devs;
int index;
int ro = 0;
@@ -795,7 +793,7 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque,
translation = BIOS_ATA_TRANSLATION_AUTO;
- if (machine && machine->use_scsi) {
+ if (default_to_scsi) {
type = IF_SCSI;
max_devs = MAX_SCSI_DEVS;
pstrcpy(devname, sizeof(devname), "scsi");
@@ -1135,10 +1133,10 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque,
static int drive_init_func(QemuOpts *opts, void *opaque)
{
- QEMUMachine *machine = opaque;
+ int *use_scsi = opaque;
int fatal_error = 0;
- if (drive_init(opts, machine, &fatal_error) == NULL) {
+ if (drive_init(opts, *use_scsi, &fatal_error) == NULL) {
if (fatal_error)
return 1;
}
@@ -3641,7 +3639,7 @@ int main(int argc, char **argv, char **envp)
/* open the virtual block devices */
if (snapshot)
qemu_opts_foreach(&qemu_drive_opts, drive_enable_snapshot, NULL, 0);
- if (qemu_opts_foreach(&qemu_drive_opts, drive_init_func, machine, 1) != 0)
+ if (qemu_opts_foreach(&qemu_drive_opts, drive_init_func,
&machine->use_scsi, 1) != 0)
exit(1);
register_savevm_live("ram", 0, 3, NULL, ram_save_live, NULL,
--
1.6.6.1
- [Qemu-devel] [PATCH 13/27] ide: Split non-qdev code off ide_init2(), (continued)
- [Qemu-devel] [PATCH 13/27] ide: Split non-qdev code off ide_init2(), Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 10/27] ide: Remove redundant IDEState member conf, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 12/27] ide: Change ide_init_drive() to require valid dinfo argument, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 03/27] Cleanup: raw-posix.c: Be more consistent using BDRV_SECTOR_SIZE instead of 512, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 09/27] ide: Remove useless IDEDeviceInfo members unit, drive, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 17/27] ide: Fix info qtree for ide-drive.ver, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 18/27] scsi: Turn drive serial into a qdev property scsi-disk.serial, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 19/27] scsi: Fix info qtree for scsi-disk.ver, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 27/27] block: Fix serial number assignment, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 20/27] Fix error message in drive_init, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 24/27] blockdev: Hide QEMUMachine from drive_init(),
Kevin Wolf <=
- [Qemu-devel] [PATCH 23/27] block: call the snapshot handlers of the protocol drivers, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 25/27] qdev: Move declaration of qdev_init_bdrv() into qdev.h, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 22/27] close all the block drivers before the qemu process exits, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 21/27] block: Assume raw for drives without media, Kevin Wolf, 2010/06/04
- [Qemu-devel] [PATCH 26/27] blockdev: Collect block device code in new blockdev.c, Kevin Wolf, 2010/06/04