adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
Paolo Bonzini ff2b68aa70 nbd: do not leak nbd_trip coroutines when a connection is torn down
Because nbd_client_close removes the I/O handlers for the client
socket, there is no way that any suspended coroutines are restarted.
This will be a problem with the QEMU embedded NBD server, because
we will have a QMP command to forcibly close all connections with
the clients.

Instead, we can exploit the reference counting of NBDClients; shutdown the
client socket, which will make it readable and writeable.  Also call the
close callback, which will release the user's reference.  The coroutines
then will fail and exit cleanly, and release all remaining references,
until the last refcount finally triggers the closure of the client.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-09-19 15:26:28 +02:00
QMP Add support for pretty-printing response in qmp-shell 2012-09-05 15:48:56 -03:00
audio audio/winwave: previous audio buffer should be flushed 2012-08-28 19:11:28 +04:00
block Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-08-31 10:04:18 -05:00
bsd-user Support 'help' as a synonym for '?' in command line options 2012-08-02 13:16:42 -05:00
default-configs arm: Move some ARM devices into libhw 2012-08-13 16:13:02 +01:00
docs docs: Fix spelling (propery -> property) 2012-08-15 15:18:54 +01:00
fpu
fsdev
gdb-xml
hw Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
include/qemu Merge remote-tracking branch 'quintela/migration-next-20120808' into staging 2012-08-13 16:02:11 -05:00
libcacard
linux-headers linux-headers: update to 3.6-rc3 2012-08-29 10:51:28 -05:00
linux-user linux-user: Clarify "Unable to reserve guest address space" error 2012-08-27 10:18:01 +03:00
net monitor: Rename+move net_handle_fd_param -> monitor_handle_fd_param 2012-09-07 09:15:08 +03:00
pc-bios Update OpenBIOS PPC image 2012-08-28 20:38:39 +02:00
qapi qapi: Fix memory leak 2012-08-20 11:05:08 -03:00
qga build: Fix linking failure for qemu-ga 2012-07-29 08:41:53 +00:00
qom qom: object_delete should unparent the object first 2012-08-23 20:19:59 -05:00
roms Update OpenBIOS PPC image 2012-08-28 20:38:39 +02:00
scripts Merge branch 'queue/qmp' of git://repo.or.cz/qemu/qmp-unstable 2012-09-10 15:04:36 +02:00
slirp slirp: fix build on mingw32 2012-08-06 19:31:55 -05:00
sysconfigs/target
target-alpha alpha-linux-user: Work around hosted mmap allocation problems 2012-08-04 09:37:48 -07:00
target-arm target-arm: final conversion to AREG0 free mode 2012-09-15 17:44:32 +00:00
target-cris target-cris: Switch to AREG0 free mode 2012-09-15 17:44:33 +00:00
target-i386 kvm: i386: Add services required for PCI device assignment 2012-09-10 15:29:59 +03:00
target-lm32 target-lm32: switch to AREG0 free mode 2012-09-15 17:44:32 +00:00
target-m68k Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
target-microblaze target-microblaze: switch to AREG0 free mode 2012-09-15 17:44:33 +00:00
target-mips target-mips: switch to AREG0 free mode 2012-09-15 17:51:13 +00:00
target-openrisc target-or32: Add linux user support 2012-07-27 21:13:05 +00:00
target-ppc target-ppc: fix altivec instructions 2012-08-28 18:49:22 +02:00
target-s390x target-s390x: avoid cpu_single_env 2012-09-15 17:44:32 +00:00
target-sh4 target-sh4: switch to AREG0 free mode 2012-09-15 17:44:33 +00:00
target-sparc Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
target-unicore32 target-unicore32: switch to AREG0 free mode 2012-09-15 17:44:32 +00:00
target-xtensa target-xtensa: fix missing errno codes for mingw32 2012-09-08 08:46:29 +00:00
tcg Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
tests qemu-iotests: add backing file smaller than image test case 2012-08-29 15:23:35 +02:00
trace trace/simple: Replace asprintf by g_strdup_printf 2012-08-14 13:19:57 +01:00
ui spice: make number of surfaces runtime-configurable. 2012-09-05 17:11:56 +02:00
.exrc qemu: add .exrc 2012-09-07 09:02:44 +03:00
.gitignore
.gitmodules
.mailmap
CODING_STYLE
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
MAINTAINERS Add MAINTAINERS entry for leon3 2012-09-08 09:09:06 +00:00
Makefile Merge remote-tracking branch 'stefanha/trivial-patches' into staging 2012-08-15 13:25:54 -05:00
Makefile.dis build: get dependency file directories from object file names 2012-07-28 09:16:09 +00:00
Makefile.hw build: get dependency file directories from object file names 2012-07-28 09:16:09 +00:00
Makefile.objs Adding support for libseccomp in configure and Makefile (v8) 2012-08-16 13:41:16 -05:00
Makefile.target Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
Makefile.user build: get dependency file directories from object file names 2012-07-28 09:16:09 +00:00
README
TODO
VERSION Open up 1.3 development tree 2012-09-05 11:44:53 -05:00
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c
alpha-dis.c
alpha.ld
arch_init.c qapi: add 'query-target' command to return target arch 2012-08-22 10:47:17 -05:00
arch_init.h win32: provide separate macros for weak decls and definitions 2012-08-15 13:26:03 -05:00
arm-dis.c
arm.ld
async.c
balloon.c
balloon.h
bitmap.c
bitmap.h
bitops.c
bitops.h bitops: drop volatile qualifier 2012-08-04 15:51:23 +00:00
block-migration.c savevm: split save_live into stage2 and stage3 2012-07-20 08:19:27 +02:00
block-migration.h
block.c block: Flush parent to OS with cache=unsafe 2012-08-15 15:14:43 +02:00
block.h block: add BLOCK_O_CHECK for qemu-img check 2012-08-10 10:25:12 +02:00
block_int.h block: block_int: include qerror.h 2012-08-13 13:20:50 -03:00
blockdev.c blockdev: flip default cache mode from writethrough to writeback 2012-08-10 10:25:12 +02:00
blockdev.h blockdev: Don't limit DriveInfo serial to 20 characters 2012-07-17 16:48:32 +02:00
bswap.h
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c
buffered_file.h
cache-utils.c
cache-utils.h
cmd.c
cmd.h
compatfd.c
compatfd.h
compiler.h win32: provide separate macros for weak decls and definitions 2012-08-15 13:26:03 -05:00
config.h
configure Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
console.c qapi: convert screendump 2012-09-05 15:48:57 -03:00
console.h qapi: convert screendump 2012-09-05 15:48:57 -03:00
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c configure: Split valgrind test into pragma test and valgrind.h test 2012-07-31 20:04:42 +00:00
coroutine-win32.c
cpu-all.h Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
cpu-common.h
cpu-defs.h cpu: Move thread_kicked to CPUState 2012-08-02 18:12:17 +02:00
cpu-exec.c Revert "i8259: add -no-spurious-interrupt-hack option" 2012-08-27 18:33:12 +04:00
cpus.c kvm: Decouple 'async interrupt delivery' from 'kernel irqchip' 2012-08-09 16:16:53 +03:00
cpus.h
cputlb.c Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
cputlb.h
cris-dis.c
cursor.c
cursor_hidden.xpm
cursor_left_ptr.xpm
cutils.c block: Enable qemu_open/close to work with fd sets 2012-08-15 13:16:22 +02:00
def-helper.h tcg: Fix MAX_OPC_PARAM_IARGS 2012-09-15 15:34:27 +00:00
device_tree.c device_tree: Add support for reading device tree properties 2012-07-20 13:34:50 +01:00
device_tree.h device_tree: Add support for reading device tree properties 2012-07-20 13:34:50 +01:00
dis-asm.h
disas.c disas: Fix printing of addresses in disassembly 2012-07-14 10:32:34 +00:00
disas.h
dma-helpers.c dma: Fix stupid typo/thinko 2012-08-16 13:41:16 -05:00
dma.h Avoid returning void 2012-07-28 09:23:11 +00:00
dump-stub.c
dump.c
dump.h
elf.h target-or32: Add target stubs and QOM cpu 2012-07-27 21:12:55 +00:00
envlist.c
envlist.h
error.c error, qerror: drop QDict member 2012-08-13 14:17:53 -03:00
error.h error: add error_setg() 2012-09-05 15:48:57 -03:00
event_notifier.c
event_notifier.h
exec-all.h Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
exec-memory.h
exec-obsolete.h
exec.c memory: add -machine dump-guest-core=on|off 2012-08-16 13:41:15 -05:00
gdbstub.c target-or32: Add gdb stub support 2012-07-27 21:13:04 +00:00
gdbstub.h
gen-icount.h
hmp-commands.hx qapi: convert screendump 2012-09-05 15:48:57 -03:00
hmp.c Merge branch 'spice.v59' of git://anongit.freedesktop.org/spice/qemu 2012-09-10 15:32:11 +02:00
hmp.h qapi: convert screendump 2012-09-05 15:48:57 -03:00
host-utils.c
host-utils.h
hppa-dis.c
hppa.ld
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c qapi: convert sendkey 2012-09-05 15:48:57 -03:00
int128.h
iohandler.c eventfd: making it thread safe 2012-08-21 15:16:29 -05:00
ioport.c
ioport.h
iorange.h
iov.c iov_send_recv(): Handle zero bytes case even if OS does not 2012-08-15 15:21:33 +01:00
iov.h
json-lexer.c
json-lexer.h
json-parser.c json-parser: don't replicate tokens at each level of recursion 2012-08-16 13:41:15 -05:00
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c kvm: Introduce kvm_has_intx_set_mask 2012-09-10 15:29:51 +03:00
kvm-stub.c kvm: Clean up irqfd API 2012-09-09 17:03:09 +03:00
kvm.h kvm: Introduce kvm_has_intx_set_mask 2012-09-10 15:29:51 +03:00
libfdt_env.h
linux-aio.c
lm32-dis.c
m68k-dis.c
m68k.ld
main-loop.c
main-loop.h
memory.c memory: Fix copy&paste mistake in memory_region_iorange_write 2012-08-29 08:25:37 -05:00
memory.h
memory_mapping-stub.c
memory_mapping.c
memory_mapping.h
microblaze-dis.c
migration-exec.c
migration-fd.c
migration-tcp.c migration: don't rely on any QERR_SOCKET_* 2012-08-13 13:20:39 -03:00
migration-unix.c
migration.c migration: move total_time from ram stats to migration info 2012-08-21 15:06:24 -03:00
migration.h Add XBZRLE statistics 2012-08-08 13:51:12 +02:00
mips-dis.c
mips.ld
module.c
module.h
monitor.c Merge remote-tracking branch 'mst/tags/for_anthony' into staging 2012-09-10 12:48:43 -05:00
monitor.h Merge remote-tracking branch 'mst/tags/for_anthony' into staging 2012-09-10 12:48:43 -05:00
nbd.c nbd: do not leak nbd_trip coroutines when a connection is torn down 2012-09-19 15:26:28 +02:00
nbd.h nbd: do not leak nbd_trip coroutines when a connection is torn down 2012-09-19 15:26:28 +02:00
net.c monitor: Rename+move net_handle_fd_param -> monitor_handle_fd_param 2012-09-07 09:15:08 +03:00
net.h monitor: Rename+move net_handle_fd_param -> monitor_handle_fd_param 2012-09-07 09:15:08 +03:00
notify.c
notify.h
os-posix.c fips: fix build on !Linux 2012-08-03 18:28:37 -05:00
os-win32.c
osdep.c osdep: Fix compilation failure on BSD systems 2012-08-16 13:41:16 -05:00
osdep.h memory: add -machine dump-guest-core=on|off 2012-08-16 13:41:15 -05:00
oslib-posix.c
oslib-win32.c
page_cache.c Add cache handling functions 2012-08-08 13:51:12 +02:00
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h target-or32: Add target stubs and QOM cpu 2012-07-27 21:12:55 +00:00
posix-aio-compat.c
ppc-dis.c
ppc.ld
ppc64.ld
qapi-schema-guest.json
qapi-schema-test.json
qapi-schema.json Merge branch 'spice.v59' of git://anongit.freedesktop.org/spice/qemu 2012-09-10 15:32:11 +02:00
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu-aio.h
qemu-barrier.h
qemu-bridge-helper.c net: Add interface to bridge when SIOCBRADDIF isn't available 2012-08-01 12:28:51 +01:00
qemu-char.c socket: don't attempt to reconnect a TCP socket in server mode 2012-09-10 10:57:52 -05:00
qemu-char.h
qemu-common.h block: Enable qemu_open/close to work with fd sets 2012-08-15 13:16:22 +02:00
qemu-config.c spice: adding seamless-migration option to the command line 2012-09-05 17:11:55 +02:00
qemu-config.h Command line support for seccomp with -sandbox (v8) 2012-08-16 13:41:16 -05:00
qemu-coroutine-int.h
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-coroutine.h
qemu-doc.texi iscsi: Pick default initiator-name based on the name of the VM 2012-08-09 15:04:09 +02:00
qemu-error.c
qemu-error.h
qemu-file.h
qemu-ga.c qemu-ga: Fix null pointer passed to unlink in failure branch 2012-08-29 08:25:55 -05:00
qemu-img-cmds.hx
qemu-img.c block: add BLOCK_O_CHECK for qemu-img check 2012-08-10 10:25:12 +02:00
qemu-img.texi Documentation: Warn against qemu-img on active image 2012-08-17 21:29:15 +02:00
qemu-io.c qemu-io: add "abort" command to simulate program crash 2012-08-06 22:39:14 +02:00
qemu-lock.h
qemu-log.c qemu-log: fix x86 and user logging 2012-07-14 11:53:03 +00:00
qemu-log.h qemu-log: fix x86 and user logging 2012-07-14 11:53:03 +00:00
qemu-nbd.c nbd: do not close BlockDriverState in nbd_export_close 2012-09-19 15:26:15 +02:00
qemu-nbd.texi
qemu-objects.h
qemu-option-internal.h expose QemuOpt and QemuOpts struct definitions to interested parties 2012-07-23 11:55:17 +01:00
qemu-option.c Support 'help' as a synonym for '?' in command line options 2012-08-02 13:16:42 -05:00
qemu-option.h Support 'help' as a synonym for '?' in command line options 2012-08-02 13:16:42 -05:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx spice: increase the verbosity of spice section in "qemu --help" 2012-09-05 17:11:55 +02:00
qemu-os-posix.h
qemu-os-win32.h
qemu-progress.c
qemu-queue.h
qemu-seccomp.c Adding qemu-seccomp.[ch] (v8) 2012-08-16 13:41:16 -05:00
qemu-seccomp.h Adding qemu-seccomp.[ch] (v8) 2012-08-16 13:41:16 -05:00
qemu-sockets.c migration: don't rely on any QERR_SOCKET_* 2012-08-13 13:20:39 -03:00
qemu-tech.texi doc: Fix indefinite article an -> a before nouns that begin with 'h' 2012-07-17 15:40:14 -05:00
qemu-thread-posix.c qemu-thread: Let qemu_thread_is_self() return bool 2012-08-02 18:11:11 +02:00
qemu-thread-posix.h
qemu-thread-win32.c qemu-thread: Let qemu_thread_is_self() return bool 2012-08-02 18:11:11 +02:00
qemu-thread-win32.h
qemu-thread.h qemu-thread: Let qemu_thread_is_self() return bool 2012-08-02 18:11:11 +02:00
qemu-timer-common.c
qemu-timer.c qemu-timer: properly arm alarm timer for timers set by device initialization 2012-09-04 12:30:28 +02:00
qemu-timer.h
qemu-tls.h
qemu-tool.c block: Enable qemu_open/close to work with fd sets 2012-08-15 13:16:22 +02:00
qemu-user.c block: Enable qemu_open/close to work with fd sets 2012-08-15 13:16:22 +02:00
qemu-x509.h
qemu-xattr.h
qemu.sasl
qemu_socket.h net: inet_connect(), inet_connect_opts(): add in_progress argument 2012-08-13 13:20:34 -03:00
qerror.c error, qerror: drop QDict member 2012-08-13 14:17:53 -03:00
qerror.h error, qerror: drop QDict member 2012-08-13 14:17:53 -03:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c qlist: add qlist_size() 2012-08-16 13:41:15 -05:00
qlist.h qlist: add qlist_size() 2012-08-16 13:41:15 -05:00
qmp-commands.hx qapi: convert screendump 2012-09-05 15:48:57 -03:00
qmp.c win32: provide separate macros for weak decls and definitions 2012-08-15 13:26:03 -05:00
qobject.h json-parser: Fix potential NULL pointer segfault 2012-09-05 15:48:57 -03:00
qstring.c
qstring.h
qtest.c
qtest.h
range.h
readline.c
readline.h
rules.mak Support using a different compiler for Objective-C files 2012-08-16 13:41:15 -05:00
s390-dis.c
s390.ld
savevm.c Merge remote-tracking branch 'agraf/ppc-for-upstream' into staging 2012-08-15 14:59:21 -05:00
sh4-dis.c
softmmu-semi.h softmmu-semi: fix lock_user* functions not to deref NULL upon OOM 2012-08-22 10:47:14 -05:00
softmmu_defs.h Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
softmmu_exec.h
softmmu_header.h Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
softmmu_template.h Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
sparc-dis.c
sparc.ld
sparc64.ld
spice-qemu-char.c
sysemu.h Revert "i8259: add -no-spurious-interrupt-hack option" 2012-08-27 18:33:12 +04:00
targphys.h targphys.h: Define TARGET_PRI*PHYS format specifier macros 2012-07-14 10:35:48 +00:00
tcg-runtime.c
tci-dis.c
tci.c Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
thunk.c
thunk.h
trace-events xhci: add XHCIInterrupter 2012-09-11 07:43:02 +02:00
translate-all.c
uboot_image.h
user-exec.c Remove unused CONFIG_TCG_PASS_AREG0 and dead code 2012-09-15 17:51:14 +00:00
version.rc
vgafont.h
vl.c Revert "vl: fix -hdachs/-hda argument order parsing issues" 2012-08-27 18:33:22 +04:00
vmstate.h vmstate: add VMSTATE_TIMER_V 2012-09-10 13:52:28 -05:00
x86_64.ld
xen-all.c xen-all.c: fix multiply issue for int and uint types 2012-08-22 10:17:43 +00:00
xen-mapcache.c Fix invalidate if memory requested was not bucket aligned 2012-08-22 10:17:04 +00:00
xen-mapcache.h
xen-stub.c

README

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

- QEMU team