QEMU With E2K User Support
Go to file
Max Reitz 53a2951312 block: driver should override flags in bdrv_open()
The BDRV_O_PROTOCOL flag should have an impact only if no driver is
specified explicitly. Therefore, if bdrv_open() is called with an
explicit block driver argument (either through the options QDict or
through the drv parameter) and that block driver is a protocol block
driver, BDRV_O_PROTOCOL should be set; if it is a format block driver,
BDRV_O_PROTOCOL should be unset.

While there was code to unset the flag in case a format block driver
has been selected, it only followed the bdrv_fill_options() function
call whereas the flag in fact needs to be adjusted before it is used
there.

With that change, BDRV_O_PROTOCOL will always be set if the BDS should
be a protocol driver; if the driver has been specified explicitly, the
new code will set it; and bdrv_fill_options() will only "probe" a
protocol driver if BDRV_O_PROTOCOL is set. The probing after
bdrv_fill_options() cannot select a protocol driver.

Thus, bdrv_open_image() to open BDS.file is never called if a protocol
BDS is about to be created. With that change in turn it is impossible to
call bdrv_open_common() with a protocol drv and file != NULL, which
allows us to remove the bdrv_swap() call.

This change breaks a test case in qemu-iotest 051:
"-drive file=t.qcow2,file.driver=qcow2" now works because the explicitly
specified "qcow2" overrides the BDRV_O_PROTOCOL which is automatically
set for the "file" BDS (and the filename is just passed down).
Therefore, this patch removes that test case.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2015-06-12 15:54:07 +02:00
audio
backends Extend TPM TIS interface to support TPM 2 2015-05-31 20:29:02 +02:00
block raw-posix: Fix .bdrv_co_get_block_status() for unaligned image size 2015-06-12 15:54:01 +02:00
bsd-user target-i386: use memory API to implement SMRAM 2015-06-05 17:36:39 +02:00
default-configs mips jazz: compile only in 64 bit 2015-06-11 10:13:29 +01:00
disas target-mips: add MTHC0 and MFHC0 instructions 2015-06-12 09:05:31 +01:00
docs migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
dtc@65cc4d2748 dtc: Update dtc / libfdt submodule to version 1.4.0 2015-06-03 23:56:49 +02:00
fpu target-s390x: define default NaN values 2015-06-05 01:37:58 +02:00
fsdev Fix typos in comments 2015-03-19 11:30:37 +03:00
gdb-xml gdb-xml: Include XML for s390 vector registers 2015-05-27 17:52:03 +02:00
hw MIPS patches 2015-06-12 2015-06-12 12:49:40 +01:00
include MIPS patches 2015-06-12 2015-06-12 12:49:40 +01:00
libcacard libcacard: do not use full paths for include files in the same dir 2015-04-30 16:05:48 +03:00
libdecnumber
linux-headers pc, acpi, virtio 2015-06-11 15:33:38 +01:00
linux-user target-i386: use memory API to implement SMRAM 2015-06-05 17:36:39 +02:00
migration Remove unneeded memset 2015-06-12 06:54:02 +02:00
net vhost-user: Improve -netdev/netdev_add/-net/... error reporting 2015-06-09 07:40:24 +02:00
pc-bios Makefile.target: set icon for binary file on Mac OS X 2015-05-19 09:11:17 +01:00
pixman@87eea99e44
po
qapi qapi: add dirty bitmap status 2015-05-29 12:53:12 +02:00
qga qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
qobject json-parser: Accept 'null' in QMP 2015-05-11 08:59:07 -04:00
qom qom: add object_property_add_const_link 2015-06-05 17:36:39 +02:00
roms pseries: Update SLOF firmware image to qemu-slof-20150313 2015-03-25 22:49:45 +01:00
scripts Teach analyze-migration.py about section footers 2015-06-12 06:54:01 +02:00
slirp
stubs monitor: Change return type of monitor_cur_is_qmp() to bool 2015-06-02 10:07:16 +02:00
target-alpha Revert "target-alpha: Add vector implementation for CMPBGE" 2015-05-22 12:30:13 +01:00
target-arm migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
target-cris cris: remove unused cris_cond15 declarations 2015-03-19 11:11:55 +03:00
target-i386 migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
target-lm32 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-m68k tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-microblaze microblaze: cpu: Delete MMAP_SHIFT definition 2015-06-03 14:21:23 +03:00
target-mips target-mips: enable XPA and LPA features 2015-06-12 09:06:03 +01:00
target-moxie target-moxie: Fix warnings from Sparse (one-bit signed bitfield) 2015-03-19 11:11:55 +03:00
target-openrisc openrisc: cpu: Remove unused cpu_get_pc 2015-04-30 16:06:18 +03:00
target-ppc migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
target-s390x migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
target-sh4 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-sparc tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-tricore target-tricore: fix BOL_ST_H_LONGOFF using ld 2015-05-30 16:49:19 +02:00
target-unicore32 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-xtensa tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
tcg tcg/optimize: rename tcg_constant_folding 2015-06-09 07:00:56 -07:00
tests block: driver should override flags in bdrv_open() 2015-06-12 15:54:07 +02:00
trace Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
ui sdl2: fix crash in handle_windowevent() when restoring the screen size 2015-06-11 14:40:25 +01:00
util QemuOpts: increase number of vm_config_groups 2015-06-10 08:00:37 +02:00
.exrc
.gitignore gitignore: Ignore more .pod files. 2015-04-04 09:45:59 +03:00
.gitmodules
.mailmap
.travis.yml
accel.c
aio-posix.c AioContext: acquire/release AioContext during aio_poll 2015-04-28 15:36:08 +02:00
aio-win32.c AioContext: acquire/release AioContext during aio_poll 2015-04-28 15:36:08 +02:00
arch_init.c migration: reduce include files 2015-06-12 06:42:34 +02:00
async.c iothread: release iothread around aio_poll 2015-04-28 15:36:08 +02:00
balloon.c balloon: improve error msg when adding second device 2015-04-24 14:18:05 -04:00
block.c block: driver should override flags in bdrv_open() 2015-06-12 15:54:07 +02:00
blockdev-nbd.c nbd: Fix up comment after commit e140177 2015-03-25 13:38:07 +01:00
blockdev.c monitor: Use traditional command interface for HMP drive_del 2015-06-02 09:59:13 +02:00
blockjob.c blockjob: Allow nested pause 2015-04-28 15:36:09 +02:00
bootdevice.c misc: fix typos in copyright declaration 2015-03-26 14:21:43 +01:00
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE
configure Patch queue for ppc - 2015-06-03 2015-06-04 14:04:14 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c - vhost-scsi: add bootindex property 2015-02-24 13:58:18 +00:00
cpus.c migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
cputlb.c memory: replace cpu_physical_memory_reset_dirty() with test-and-clear 2015-06-05 17:10:00 +02:00
device_tree.c device-tree: Make a common-obj 2015-06-03 14:21:24 +03:00
device-hotplug.c pci-hotplug-old: Has been dead for five major releases, bury 2015-03-01 12:37:54 +01:00
disas.c
dma-helpers.c range: remove useless inclusions 2015-04-30 16:05:48 +03:00
dump.c
exec.c qemu_ram_foreach_block: pass up error value, and down the ramblock name 2015-06-12 06:54:01 +02:00
gdbstub.c Revert "gdbstub: Do not kill target in system emulation mode" 2015-05-28 16:57:35 +01:00
HACKING
hmp-commands.hx monitor: Use trad. command interface for HMP pcie_aer_inject_error 2015-06-02 09:59:13 +02:00
hmp.c monitor: Use traditional command interface for HMP device_add 2015-06-02 09:59:13 +02:00
hmp.h monitor: Use traditional command interface for HMP device_add 2015-06-02 09:59:13 +02:00
iohandler.c
ioport.c - miscellaneous cleanups for TCG (Emilio) and NBD (Bogdan) 2015-04-30 12:04:11 +01:00
iothread.c Remove various unused functions 2015-05-08 14:11:10 +03:00
kvm-all.c kvm: remove special handling of DIRTY_MEMORY_MIGRATION in the dirty log mask 2015-06-05 17:09:59 +02:00
kvm-stub.c
LICENSE
main-loop.c
MAINTAINERS migration: move savevm.c inside migration/ 2015-06-12 06:42:30 +02:00
Makefile arch_init: Drop target-x86_64.conf 2015-06-02 15:15:52 -03:00
Makefile.objs device-tree: Make a common-obj 2015-06-03 14:21:24 +03:00
Makefile.target migration: move savevm.c inside migration/ 2015-06-12 06:42:30 +02:00
memory_mapping.c
memory.c memory: use mr->ram_addr in "is this RAM?" assertions 2015-06-05 17:10:00 +02:00
module-common.c
monitor.c monitor: Fix QMP ABI breakage around "id" 2015-06-08 12:12:11 +01:00
nbd.c qemu-nbd: only send a limited number of errno codes on the wire 2015-05-08 14:45:11 +02:00
numa.c QemuOpts: Convert qemu_opts_foreach() to Error 2015-06-09 07:37:37 +02:00
os-posix.c rcu: do not create thread in pthread_atfork callback 2015-04-01 10:06:38 +02:00
os-win32.c
page_cache.c
qapi-schema.json monitor: Convert client_migrate_info to QAPI 2015-06-02 09:59:13 +02:00
qdev-monitor.c QemuOpts: Convert qemu_opt_foreach() to Error 2015-06-09 07:40:23 +02:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c qemu-char: remove unused list node from FDCharDriver 2015-04-30 16:05:49 +03:00
qemu-coroutine-io.c coroutine-io: Return -errno in case of error 2015-03-18 12:07:21 +01:00
qemu-coroutine-lock.c coroutine: remove unnecessary parentheses in qemu_co_queue_empty 2015-04-30 16:05:49 +03:00
qemu-coroutine-sleep.c
qemu-coroutine.c coroutine: Clean up qemu_coroutine_enter() 2015-03-09 11:11:59 +01:00
qemu-doc.texi raw-posix: Deprecate host floppy passthrough 2015-03-19 11:43:02 +01:00
qemu-img-cmds.hx
qemu-img.c util: move read_password method out of qemu-img into osdep/oslib 2015-05-22 17:08:01 +02:00
qemu-img.texi
qemu-io-cmds.c qemu-io: Use getopt() correctly 2015-05-22 17:08:01 +02:00
qemu-io.c qemu-io: prompt for encryption keys when required 2015-05-22 17:08:01 +02:00
qemu-log.c
qemu-nbd.c qemu-nbd: Switch to qemu_set_fd_handler 2015-06-05 17:09:58 +02:00
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx fw_cfg: insert fw_cfg file blobs via qemu cmdline 2015-06-10 08:06:46 +02:00
qemu-seccomp.c
qemu-tech.texi
qemu-timer.c
qemu.nsi
qemu.sasl
qjson.c QJSON: Use OBJECT_CHECK 2015-05-11 08:59:07 -04:00
qmp-commands.hx monitor: Convert client_migrate_info to QAPI 2015-06-02 09:59:13 +02:00
qmp.c qapi: Drop inline nested struct in query-version 2015-05-05 18:39:02 +02:00
qtest.c qtest: pre-buffer hex nibs 2015-05-22 15:58:22 -04:00
README
rules.mak rules.mak: Force CFLAGS for all objects in DSO 2015-05-08 14:45:11 +02:00
softmmu_template.h softmmu: Add probe_write() 2015-06-11 10:13:28 +01:00
spice-qemu-char.c spice: fix spice_chr_add_watch() pre-condition 2015-05-29 09:56:01 +02:00
tcg-runtime.c
tci.c tcg: Mask TCGMemOp appropriately for indexing 2015-06-09 06:35:29 -07:00
thread-pool.c thread-pool: clean up thread_pool_completion_bh() 2015-04-28 15:36:09 +02:00
thunk.c
tpm.c QemuOpts: Convert qemu_opts_foreach() to Error 2015-06-09 07:37:37 +02:00
trace-events MIPS patches 2015-06-12 2015-06-12 12:49:40 +01:00
translate-all.c translate-all: make less of tb_invalidate_phys_page_range depend on is_cpu_write_access 2015-06-05 17:09:59 +02:00
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 2015-06-05 17:09:59 +02:00
user-exec.c exec: move functions to translate-all.h 2015-06-05 17:09:59 +02:00
VERSION Open 2.4 development tree 2015-04-25 22:05:07 +01:00
version.rc
vl.c fw_cfg: insert fw_cfg file blobs via qemu cmdline 2015-06-10 08:06:46 +02:00
xen-common-stub.c
xen-common.c
xen-hvm-stub.c xen: Remove xen_cmos_set_s3_resume() 2015-03-10 08:15:33 +03:00
xen-hvm.c memory: prepare for multiple bits in the dirty log mask 2015-06-05 17:09:59 +02:00
xen-mapcache.c

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team