QEMU With E2K User Support
Go to file
Max Reitz 66f6b8143b block: Close backing file early in bdrv_img_create
Leaving the backing file open although it is not needed anymore can
cause problems if it is opened through a block driver which allows
exclusive access only and if the create function of the block driver
used for the top image (the one being created) tries to close and reopen
the image file (which will include opening the backing file a second
time).

In particular, this will happen with a backing file opened through
qemu-nbd and using qcow2 as the top image file format (which reopens the
image to flush it to disk).

In addition, the BlockDriverState in bdrv_img_create() is used for the
backing file only; it should therefore be made local to the respective
block.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-12-04 11:29:19 +01:00
audio ossaudio: check for oss support in oss_audio_init 2013-11-07 12:26:00 +01:00
backends rng-egd: offset the point when repeatedly read from the buffer 2013-11-21 17:39:17 +01:00
block raw-posix: add support for write_zeroes on XFS and block devices 2013-12-03 15:26:49 +01:00
bsd-user *-user: Improve documentation for lock_user function 2013-09-20 20:09:24 +04:00
default-configs arm11mpcore: Split off SCU device 2013-11-05 17:47:30 +01:00
disas disas/ppc.c: Fix little endian disassembly 2013-09-02 10:06:41 +02:00
docs docs/memory.txt: Clarify and expand priority/overlap documentation 2013-11-05 19:59:24 -08:00
dtc@bc895d6d09
fpu
fsdev
gdb-xml target-arm: Add AArch64 gdbstub support 2013-09-10 19:11:28 +01:00
hw scsi-disk: correctly implement WRITE SAME 2013-12-03 15:26:49 +01:00
include block: add bdrv_aio_write_zeroes 2013-12-03 15:26:49 +01:00
libcacard Merge remote-tracking branch 'stefanha/block' into staging 2013-09-23 11:53:05 -05:00
linux-headers linux-headers: update to 3.12-rc1 2013-09-20 12:38:48 +02:00
linux-user linux-user: Fix stat64 syscall for SPARC64 2013-11-07 07:02:44 +01:00
net net: fix qemu_flush_queued_packets() in presence of a hub 2013-11-08 17:32:34 +01:00
pc-bios sun4m: Add FCode ROM for TCX framebuffer 2013-11-21 17:38:52 +01:00
pixman@97336fad32
po
qapi qapi: fix memleak by adding implict struct functions in dealloc visitor 2013-11-05 19:58:38 -08:00
qga qga: Fix two format strings for MinGW 2013-11-25 20:35:28 -08:00
qobject qdict: Optimise qdict_do_flatten() 2013-11-29 13:40:37 +01:00
qom qom: Fix memory leak in object_property_set_link() 2013-11-19 10:58:21 +01:00
roms pseries: Update SLOF firmware image 2013-11-08 04:33:19 +01:00
scripts Adjust qapi-visit for python-2.4.3 2013-11-11 10:02:21 -05:00
slirp misc: Spelling and grammar fixes in comments 2013-10-26 13:06:45 +04:00
stubs Merge remote-tracking branch 'kiszka/queues/slirp' into staging 2013-09-17 10:01:24 -05:00
sysconfigs/target
target-alpha misc: New spelling fixes in comments 2013-10-26 13:01:57 +04:00
target-arm target-arm: fix sorting issue of KVM cpreg list 2013-10-31 14:00:16 +01:00
target-cris tcg: Remove stray semi-colons from target-*/helper.h 2013-10-10 11:43:37 -07:00
target-i386 Here are a bunch of 1.7-tagged patches that I was afraid 2013-11-25 09:41:24 -08:00
target-lm32 target: Include softmmu_exec.h where forgotten 2013-09-02 09:08:30 -07:00
target-m68k Merge remote-tracking branch 'rth/tcg-pull' into staging 2013-10-11 09:36:52 -07:00
target-microblaze microblaze: At swx, check that the reserved word is unmodified 2013-10-24 22:32:56 +02:00
target-mips Merge remote-tracking branch 'rth/tcg-pull' into staging 2013-10-11 09:36:52 -07:00
target-moxie cpu: Drop cpu_model_str from CPU_COMMON 2013-10-07 11:48:47 +02:00
target-openrisc target-openrisc: Correct memory bounds checking for the tlb buffers 2013-11-20 21:47:17 +08:00
target-ppc spapr: Use DeviceClass::fw_name for device tree CPU node 2013-10-25 23:25:48 +02:00
target-s390x exec: Fix prototype of phys_mem_set_alloc and related functions 2013-10-14 08:50:34 -07:00
target-sh4 Merge remote-tracking branch 'rth/tcg-pull' into staging 2013-10-11 09:36:52 -07:00
target-sparc Merge remote-tracking branch 'rth/tcg-pull' into staging 2013-10-11 09:36:52 -07:00
target-unicore32 Merge remote-tracking branch 'rth/tcg-pull' into staging 2013-10-11 09:36:52 -07:00
target-xtensa target-xtensa: add missing DEBUG section to dc233c config 2013-11-08 09:26:07 +04:00
tcg tcg-ia64: Introduce tcg_opc_bswap64_i 2013-11-18 15:57:59 +10:00
tests qemu-iotests: 033 is fast 2013-12-03 15:26:49 +01:00
trace
ui curses: fixup SIGWINCH handler mess 2013-11-25 20:36:27 -08:00
util util/error: Save errno from clobbering 2013-11-28 10:30:52 +01:00
.exrc
.gitignore .gitignore: ignore qmp-commands.txt 2013-10-26 13:01:57 +04:00
.gitmodules Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
.mailmap Update mailmap 2013-09-05 09:40:31 -05:00
.travis.yml .travis.yml: basic compile and check recipes 2013-11-13 15:48:38 +04:00
aio-posix.c aio / timers: Convert aio_poll to use AioContext timers' deadline 2013-08-22 19:10:28 +02:00
aio-win32.c aio-win32: replace incorrect AioHandler->opaque usage with ->e 2013-08-22 22:04:54 +02:00
arch_init.c migration: drop MADVISE_DONT_NEED for incoming zero pages 2013-11-19 17:23:57 +01:00
async.c aio / timers: aio_ctx_prepare sets timeout from AioContext timers 2013-08-22 19:10:28 +02:00
balloon.c
block-migration.c block: per caller dirty bitmap 2013-11-29 13:40:33 +01:00
block.c block: Close backing file early in bdrv_img_create 2013-12-04 11:29:19 +01:00
blockdev-nbd.c nbd: use BlockDriverState refcnt 2013-09-06 15:25:08 +02:00
blockdev.c block/drive-mirror: Reuse backing HD for sync=none 2013-11-27 07:53:32 -08:00
blockjob.c qapi: make use of new BlockJobType 2013-10-11 10:52:54 +02:00
bt-host.c
bt-vhci.c
Changelog Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
CODING_STYLE
configure pc very last minute fixes for 1.7 2013-11-25 09:49:43 -08:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c cpu-exec: Also reload CPUClass *cc after longjmp return in cpu_exec() 2013-10-07 11:46:58 +02:00
cpus.c timers: fix stop/cont with -icount 2013-11-06 21:47:05 -08:00
cputlb.c cputlb: Remove dead function tlb_update_dirty() 2013-10-07 11:48:03 +02:00
device_tree.c
device-hotplug.c
disas.c disas: Implement fallback to dump object code as hex 2013-08-24 07:26:45 +02:00
dma-helpers.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
dump.c dump-guest-memory: Check for the correct return value 2013-10-25 23:25:48 +02:00
exec.c pci, pc, virtio bug fixes 2013-11-13 11:48:35 -08:00
gdbstub.c vl: allow "cont" from panicked state 2013-11-04 15:39:41 +02:00
HACKING
hmp-commands.hx hmp: add interface hmp_snapshot_delete_blkdev_internal 2013-09-12 10:12:47 +02:00
hmp.c hmp: drop bogus "[not inserted]" 2013-10-17 10:10:14 +02:00
hmp.h hmp: add interface hmp_snapshot_delete_blkdev_internal 2013-09-12 10:12:47 +02:00
iohandler.c
ioport.c portio: Allow to mark portio lists as coalesced MMIO flushing 2013-10-17 17:24:15 +02:00
kvm-all.c Merge remote-tracking branch 'qemu-kvm/uq/master' into staging 2013-09-23 11:52:49 -05:00
kvm-stub.c kvm irqfd: support direct msimessage to irq translation 2013-09-20 12:37:52 +02:00
LICENSE
main-loop.c slirp: set mainloop timeout with more precise value 2013-09-17 12:26:05 +02:00
MAINTAINERS MAINTAINERS: add sheepdog development mailing list 2013-11-29 13:40:37 +01:00
Makefile sun4m: Add FCode ROM for TCX framebuffer 2013-11-21 17:38:52 +01:00
Makefile.objs qemu-ga: Add Windows VSS provider and requester as DLL 2013-09-09 14:17:57 -05:00
Makefile.target default-configs/: CONFIG_GDBSTUB_XML removed 2013-10-16 18:21:01 +02:00
memory_mapping.c cpu: Use QTAILQ for CPU list 2013-09-03 12:25:55 +02:00
memory.c pci, pc, acpi fixes, enhancements 2013-10-31 16:58:32 +01:00
migration-exec.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration-fd.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration-rdma.c rdma: constify ram_chunk_{index, start, end} 2013-09-24 13:22:50 +02:00
migration-tcp.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration-unix.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration.c migration: Fix compiler warning ('caps' may be used uninitialized) 2013-10-05 14:02:29 +04:00
monitor.c Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging 2013-10-31 17:01:12 +01:00
nbd.c nbd: use BlockDriverState refcnt 2013-09-06 15:25:08 +02:00
os-posix.c
os-win32.c
page_cache.c
qapi-schema.json qapi: Change BlockDirtyInfo to list 2013-11-29 13:40:36 +01:00
qdev-monitor.c qdev-monitor: Inline qdev_init() for device_add 2013-11-05 18:06:51 +01:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c Merge remote-tracking branch 'amit/char-remove-watch-on-unplug' into staging 2013-10-10 13:16:02 -07:00
qemu-coroutine-io.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
qemu-coroutine-lock.c coroutine: remove qemu_co_queue_wait_insert_head 2013-12-02 17:11:49 +01:00
qemu-coroutine-sleep.c coroutine: add co_aio_sleep_ns() to allow sleep in block drivers 2013-10-30 12:22:09 +01:00
qemu-coroutine.c coroutine: add ./configure --disable-coroutine-pool 2013-09-12 10:12:48 +02:00
qemu-doc.texi
qemu-img-cmds.hx block: Image file option amendment 2013-09-12 10:12:46 +02:00
qemu-img.c qemu-img: conditionally zero out target on convert 2013-11-28 10:30:52 +01:00
qemu-img.texi qemu-img: add support for fully allocated images 2013-11-28 10:30:52 +01:00
qemu-io-cmds.c blkdebug: add "remove_break" command 2013-11-29 13:40:37 +01:00
qemu-io.c qemu-io: Let "open" pass options to block driver 2013-10-11 16:50:02 +02:00
qemu-log.c
qemu-nbd.c block: Error parameter for open functions 2013-09-12 10:12:48 +02:00
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx doc: fix hardcoded helper path 2013-11-18 13:45:10 +02:00
qemu-seccomp.c seccomp: fine tuning whitelist by adding times() 2013-09-24 15:15:16 -03:00
qemu-tech.texi
qemu-timer.c timer: add timer_mod_anticipate and timer_mod_anticipate_ns 2013-10-17 17:31:00 +02:00
qemu.nsi nsis: Improved support for parallel installation of 32 and 64 bit code 2013-11-07 07:02:44 +01:00
qemu.sasl
qmp-commands.hx blockdev: 'blockdev-add' QMP command 2013-10-11 16:50:01 +02:00
qmp.c
qtest.c qtest: Fix FMT_timeval vs time_t 2013-09-02 09:08:29 -07:00
readline.c monitor: avoid use of global *cur_mon in readline_completion() 2013-08-30 07:41:14 -04:00
README Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
rules.mak rules.mak: New string testing functions 2013-10-16 18:21:00 +02:00
savevm.c The calculation of bytes_xfer in qemu_put_buffer() is wrong 2013-11-20 12:16:04 +01:00
spice-qemu-char.c
tcg-runtime.c
tci.c misc: Use new rotate functions 2013-09-25 21:23:05 +02:00
thread-pool.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
thunk.c
tpm.c
trace-events raw-posix: implement write_zeroes with MAY_UNMAP for files 2013-12-03 15:26:49 +01:00
translate-all.c exec: Delete is_tcg_gen_code and GETRA_EXT 2013-10-10 11:44:25 -07:00
translate-all.h
user-exec.c
VERSION Open 2.0 development tree 2013-11-27 14:02:45 -08:00
version.rc Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
vl.c Merge remote-tracking branch 'mjt/trivial-patches' into staging 2013-11-19 12:59:26 -08:00
xbzrle.c
xen-all.c qemu/xen: make use of xenstore relative paths 2013-10-10 14:25:52 +00:00
xen-mapcache.c
xen-stub.c pc: Initializing ram_memory under Xen. 2013-09-09 16:22:19 +00:00

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

- QEMU team