Christian Borntraeger 2d0d2837dc Support default block interfaces per QEMUMachine
There are QEMUMachines that have neither IF_IDE nor IF_SCSI as a
default/standard interface to their block devices / drives. Therefore,
this patch introduces a new field default_block_type per QEMUMachine
struct. The prior use_scsi field becomes thereby obsolete and is
replaced through .default_block_type = IF_SCSI.

This patch also changes the default for s390x to IF_VIRTIO and
removes an early hack that converts IF_IDE drives.
Other parties have already claimed interest (e.g. IF_SD for exynos)

To create a sane default, for machines that dont specify a
default_block_type, this patch makes IF_IDE = 0 and IF_NONE = 1.
I checked all users of IF_NONE (blockdev.c and ww/device-hotplug.c)
as well as IF_IDE and it seems that it is ok to change the defines -
in other words, I found no obvious (to me) assumption in the code
regarding IF_NONE==0. IF_NONE is only set if there is an
explicit if=none. Without if=* the interface becomes IF_DEFAULT.

I would suggest to have some additional care, e.g. by letting
this patch sit some days in the block tree.

Based on an initial patch from Einar Lueck <elelueck@de.ibm.com>

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
CC: Igor Mitsyanko <i.mitsyanko@samsung.com>
CC: Markus Armbruster <armbru@redhat.com>
CC: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Acked-by: Igor Mitsyanko <i.mitsyanko@samsung.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2012-12-11 11:05:10 +01:00
..
2012-12-04 14:42:05 +01:00
2012-12-04 13:52:43 +01:00
2012-12-04 13:52:43 +01:00
2012-12-04 13:52:43 +01:00
2012-11-01 19:49:45 +01:00
2012-11-01 19:49:45 +01:00
2012-12-04 14:50:21 +01:00
2012-12-04 14:50:21 +01:00
2012-11-01 13:10:06 +01:00
2012-12-04 14:50:22 +01:00
2012-11-14 18:19:22 +01:00
2012-11-01 13:10:06 +01:00
2012-11-26 14:25:42 -06:00
2012-12-04 14:50:21 +01:00
2012-12-04 14:50:21 +01:00
2012-11-01 13:10:06 +01:00
2012-11-10 13:49:20 +00:00
2012-11-12 16:42:56 +01:00
2012-11-01 13:10:06 +01:00
2012-11-10 13:49:20 +00:00
2012-11-01 13:10:06 +01:00
2012-11-26 09:35:35 -06:00
2012-11-26 09:35:35 -06:00
2012-12-04 14:42:05 +01:00
2012-11-26 09:35:37 -06:00
2012-12-04 14:50:22 +01:00
2012-11-26 13:41:00 -06:00
2012-12-04 13:52:43 +01:00
2012-12-04 13:52:43 +01:00
2012-12-04 14:50:22 +01:00
2012-12-04 14:50:22 +01:00
2012-11-01 13:10:06 +01:00
2012-10-31 01:02:46 +01:00
2012-11-01 13:10:06 +01:00
2012-11-01 13:10:06 +01:00
2012-11-10 13:49:20 +00:00
2012-11-10 13:49:20 +00:00
2012-10-31 01:02:45 +01:00
2012-11-01 13:10:06 +01:00
2012-11-01 13:10:06 +01:00
2012-11-16 11:27:07 +01:00
2012-11-16 11:27:06 +01:00
2012-11-29 17:25:02 -06:00
2012-11-29 17:25:02 -06:00