qemu-e2k/hw/core
Kevin Wolf 8daea51095 block/qdev: Allow node name for drive properties
If a node name instead of a BlockBackend name is specified as the driver
for a guest device, an anonymous BlockBackend is created now.

The order of operations in release_drive() must be reversed in order to
avoid a use-after-free bug because now blk_detach_dev() frees the last
reference if an anonymous BlockBackend is used.

usb-storage uses a hack where it forwards its BlockBackend as a property
to another device that it internally creates. This hack must be updated
so that it doesn't drop its original BB before it can be passed to the
other device. This used to work because we always had the monitor
reference around, but with node-names the device reference is the only
one now.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
2016-07-13 13:28:00 +02:00
..
bus.c qdev: Start disentangling bus from device 2016-05-26 14:06:41 +01:00
empty_slot.c hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
fw-path-provider.c hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
hotplug.c qdev: hotplug: Introduce HotplugHandler.pre_plug() callback 2016-06-17 16:33:48 +10:00
irq.c hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
loader.c loader: fix potential memory leak 2016-05-18 15:04:26 +03:00
machine.c vl: Set errp to &error_abort on machine compat_props 2016-07-07 15:24:55 -03:00
Makefile.objs register: Add Register API 2016-07-04 13:15:22 +01:00
nmi.c nmi: remove x86 specific nmi handling 2016-05-23 16:53:46 +02:00
null-machine.c hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
platform-bus.c hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
ptimer.c hw/ptimer: Introduce ptimer_get_limit 2016-06-06 16:59:31 +01:00
qdev-properties-system.c block/qdev: Allow node name for drive properties 2016-07-13 13:28:00 +02:00
qdev-properties.c qdev: GlobalProperty.errp field 2016-07-07 15:24:52 -03:00
qdev.c qdev: hotplug: Introduce HotplugHandler.pre_plug() callback 2016-06-17 16:33:48 +10:00
register.c register: Add block initialise helper 2016-07-04 13:15:22 +01:00
stream.c hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
sysbus.c hw: remove pio_addr_t 2016-05-19 16:42:30 +02:00
uboot_image.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00