History | View | Annotate | Download (15.6 kB)
monitor: allow device to be ejected if no disk is inserted
This changes the monitor eject_device() function to not check forbdrv_is_inserted().
Example run where the bug manifests itself:
(output of 'info block' is stripped to include only the CD-ROM device)...
block: Move error actions from DriveInfo to BlockDriverState
That's where they belong semantically (block device host part), eventhough the actions are actually executed by guest device code.
Signed-off-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block: Decouple block device "commit all" from DriveInfo
do_commit() and mux_proc_byte() iterate over the list of drivesdefined with drive_init(). This misses host block devices defined byother means. Such means don't exist now, but will be introduced later...
monitor: Make "commit FOO" complain when FOO doesn't exist
blockdev: Give drives internal linkage
This is the list of drives defined with drive_init(). Hide it, so itdoesn't get abused.
Fix regression for "-drive file="
Empty file used to create an empty drive (no media). Since commit9dfd7c7a, it's an error: "qemu: could not open disk image : No suchfile or directory". Older versions of libvirt can choke on this.
Signed-off-by: Markus Armbruster <armbru@redhat.com>...
block: Fix serial number assignment
We should use 'dinfo->serial' length, 'serial' is a pointer, sothe serial number length is currently limited to the pointer size.
This fixes https://bugs.launchpad.net/qemu/+bug/584143 and is alsovalid for stable.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>...
blockdev: Collect block device code in new blockdev.c
Anything that moves hundreds of lines out of vl.c can't be all bad.