Go to file
Fam Zheng 0d910cfeaf ide/ahci: Check for -ECANCELED in aio callbacks
Before, bdrv_aio_cancel will either complete the request (like normal)
and call CB with an actual return code, or skip calling the request (for
example when the IO req is not submitted by thread pool yet).

We will change bdrv_aio_cancel to do it differently: always call CB
before return, with either [1] a normal req completion ret code, or [2]
ret == -ECANCELED. So the callers' callback must accept both cases. The
existing logic works with case [1], but not [2].

The simplest transition of callback code is do nothing in case [2], just
as if the CB is not called by the bdrv_aio_cancel() call.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2014-09-22 11:38:55 +01:00
audio audio: Drop superfluous conditionals around g_free() 2014-06-13 12:34:54 +02:00
backends pci, pc, virtio, misc bugfixes 2014-09-18 20:02:01 +01:00
block block/vhdx.c: Mark parent_vhdx_guid variable as unused 2014-09-22 11:35:02 +01:00
bsd-user bsd-user: Fix syscall format, add strace support for more syscalls 2014-06-11 00:25:06 +01:00
default-configs PPC: Fix default config ordering and add eTSEC for ppc64 2014-09-08 12:50:54 +02:00
disas disas/libvixl: Update to upstream VIXL 1.5 2014-08-29 15:00:27 +01:00
docs SCSI changes that enable sending vendor-specific commands via virtio-scsi. 2014-08-19 13:00:57 +01:00
dtc@bc895d6d09 dtc: add submodule 2013-04-18 13:50:53 +02:00
fpu fpu: softfloat: drop INLINE macro 2014-06-23 11:00:12 -04:00
fsdev virtfs-proxy-helper: fix call to accept 2014-04-28 08:55:32 +04:00
gdb-xml s390x/gdb: add the feature xml files for s390x 2014-09-01 09:45:19 +02:00
hw ide/ahci: Check for -ECANCELED in aio callbacks 2014-09-22 11:38:55 +01:00
include pci, pc, virtio, misc bugfixes 2014-09-18 20:02:01 +01:00
libcacard vscclient: Add required headers to fix build on FreeBSD 2014-06-24 20:01:24 +04:00
libdecnumber libdecnumber: Fix warnings from smatch (missing static, boolean operations) 2014-08-24 13:21:06 +04:00
linux-headers linux-headers: update linux headers to kvm/next 2014-06-16 13:24:41 +02:00
linux-user exec.c: Relax restrictions on watchpoint length and alignment 2014-09-12 14:06:48 +01:00
net Net patches 2014-09-04 17:39:07 +01:00
pc-bios pc-bios/s390-ccw.img binary update 2014-09-01 09:23:02 +02:00
pixman@87eea99e44 pixman: update internal copy to pixman-0.32.6 2014-09-15 08:14:19 +02:00
po po: Fix Makefile rules for in-tree builds without configuration 2014-08-24 13:16:42 +04:00
qapi qapi: introduce PreallocMode and new PreallocModes full and falloc. 2014-09-12 15:43:06 +02:00
qga channel-posix: using qemu_set_nonblock() instead of fcntl(O_NONBLOCK) 2014-08-15 18:03:13 +01:00
qobject json-lexer: fix escaped backslash in single-quoted string 2014-06-23 11:01:24 -04:00
qom cpu-exec: Make debug_excp_handler a QOM CPU method 2014-09-12 14:06:48 +01:00
roms Update OpenBIOS images 2014-08-26 13:52:15 +01:00
scripts scripts: Remove scripts/qtest 2014-09-02 22:38:16 +04:00
slirp slirp/misc: Use the GLib memory allocation APIs 2014-08-24 13:16:32 +04:00
stubs monitor: fix use after free 2014-08-18 14:39:10 -04:00
sysconfigs/target Eliminate cpus-x86_64.conf file 2012-09-21 15:12:58 +02:00
target-alpha trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-arm target-arm: Make *IS TLB maintenance ops affect all CPUs 2014-09-12 14:06:50 +01:00
target-cris trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-i386 cpu-exec: Make debug_excp_handler a QOM CPU method 2014-09-12 14:06:48 +01:00
target-lm32 cpu-exec: Make debug_excp_handler a QOM CPU method 2014-09-12 14:06:48 +01:00
target-m68k trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-microblaze trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-mips trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-moxie softmmu: introduce cpu_ldst.h 2014-06-05 16:10:33 +02:00
target-openrisc trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-ppc target-ppc: Implement mulldo with TCG 2014-09-08 12:50:53 +02:00
target-s390x s390x/gdb: coding style fixes 2014-09-01 09:45:19 +02:00
target-sh4 trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-sparc target-sparc64: implement Short Floating-Point Store Instructions 2014-08-17 13:24:27 +01:00
target-tricore target-tricore: Add instructions of SR opcode format 2014-09-01 14:49:21 +01:00
target-unicore32 trace: [tcg] Include TCG-tracing header on all targets 2014-08-12 14:26:12 +01:00
target-xtensa cpu-exec: Make debug_excp_handler a QOM CPU method 2014-09-12 14:06:48 +01:00
tcg tcg: dump op count into qemu log 2014-08-24 13:16:32 +04:00
tests pci, pc, virtio, misc bugfixes 2014-09-18 20:02:01 +01:00
trace trace: Only link generated-tracers.o with "simple" backend 2014-09-09 13:13:05 +02:00
ui vnc-tls: Clean up dead store in vnc_set_x509_credential() 2014-09-18 08:01:53 +02:00
util util/qemu-sockets.c: Support specifying IPv4 or IPv6 in socket_dgram() 2014-09-16 23:36:32 +01:00
.exrc qemu: add .exrc 2012-09-07 09:02:44 +03:00
.gitignore trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
.gitmodules PPC: Add u-boot firmware for e500 2014-06-16 13:24:35 +02:00
.mailmap Update mailmap 2013-09-05 09:40:31 -05:00
.travis.yml trace: Multi-backend tracing 2014-06-09 15:43:40 +02:00
aio-posix.c AioContext: introduce aio_prepare 2014-08-29 10:46:58 +01:00
aio-win32.c aio-win32: fix uninitialized use of have_select_revents 2014-09-22 11:38:50 +01:00
arch_init.c target-tricore: Add target stubs and qom-cpu 2014-09-01 14:49:20 +01:00
async.c AioContext: introduce aio_prepare 2014-08-29 10:46:58 +01:00
balloon.c qapi event: convert BALLOON_CHANGE 2014-06-23 11:12:28 -04:00
block-migration.c block: Use g_new() & friends where that makes obvious sense 2014-08-20 11:51:28 +02:00
block.c block: extend BLOCK_IO_ERROR with reason string 2014-09-11 17:14:13 +02:00
blockdev-nbd.c block: Use g_new() & friends where that makes obvious sense 2014-08-20 11:51:28 +02:00
blockdev.c blockdev: Refuse to drive_del something added with blockdev-add 2014-09-11 17:14:24 +02:00
blockjob.c coroutine: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
bt-host.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
bt-vhci.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
Changelog Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
CODING_STYLE CODING_STYLE: Section about conditional statement 2014-08-15 18:54:06 +04:00
configure Fix cross compilation (nm command) 2014-09-19 17:20:11 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c glib-compat.h: add new thread API emulation on top of pre-2.31 API 2014-06-10 07:44:01 +02:00
coroutine-sigaltstack.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
coroutine-ucontext.c Fix warnings suppressors to honor --disable-werror 2013-04-17 10:28:04 -05:00
coroutine-win32.c coroutine-win32.c: Add noinline attribute to work around gcc bug 2014-06-26 14:08:14 +01:00
cpu-exec.c cpu-exec: Make debug_excp_handler a QOM CPU method 2014-09-12 14:06:48 +01:00
cpus.c cpu: init vmstate for ticks and clock offset 2014-09-11 12:20:32 +02:00
cputlb.c implementing victim TLB for QEMU system emulated TLB 2014-09-01 17:43:06 +01:00
device_tree.c device_tree.c: dump all err mesages with error_report 2014-09-02 22:38:16 +04:00
device-hotplug.c blockdev: Remove unused DriveInfo reference count 2014-06-16 17:23:19 +08:00
disas.c monitor: QEMU Monitor Instruction Disassembly Incorrect for PowerPC LE Mode 2014-06-16 13:24:26 +02:00
dma-helpers.c block: Make the block accounting functions operate on BlockAcctStats 2014-09-10 10:41:29 +02:00
dump.c dump.c: Fix memory leak issue in cleanup processing for dump_init() 2014-08-18 14:39:10 -04:00
exec.c exec.c: fix setting 1-byte-long watchpoints 2014-09-19 17:42:16 +01:00
gdbstub.c gdbstub: init mon_chr through qemu_chr_alloc 2014-09-11 12:20:33 +02:00
HACKING HACKING: Document vaddr type usage 2013-07-23 02:41:31 +02:00
hmp-commands.hx cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
hmp.c hmp: fix MemdevList memory leak 2014-09-02 22:38:16 +04:00
hmp.h hmp: add info memdev 2014-06-19 18:44:21 +03:00
iohandler.c iohandler.c: Properly initialize sigaction struct 2014-05-24 00:07:29 +04:00
ioport.c memory: convert memory_region_destroy to object_unparent 2014-08-18 12:06:20 +02:00
iothread.c AioContext: do not rely on aio_poll(ctx, true) result to end a loop 2014-07-14 12:03:20 +02:00
kvm-all.c - Memory: improve error reporting and avoid crashes on hotplug 2014-09-12 16:55:49 +01:00
kvm-stub.c Add kvm_eventfds_enabled function 2014-06-19 16:41:54 +03:00
LICENSE LICENSE: clarify 2013-08-12 09:15:12 -05:00
main-loop.c block: drop aio functions that operate on the main AioContext 2014-07-09 15:50:11 +02:00
MAINTAINERS MAINTAINERS: update sheepdog maintainer 2014-09-08 11:12:43 +01:00
Makefile Tracing pull request 2014-08-15 16:37:17 +01:00
Makefile.objs Tracing pull request 2014-08-15 16:37:17 +01:00
Makefile.target trace: [tcg] Define TCG tracing helper routines 2014-08-12 14:26:12 +01:00
memory_mapping.c cpu: Use QTAILQ for CPU list 2013-09-03 12:25:55 +02:00
memory.c memory: add parameter errp to memory_region_init_rom_device 2014-09-09 13:41:44 +02: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: bug fixes 2014-06-23 19:09:50 +02:00
migration-tcp.c Coverity: Fix failure path for qemu_accept in migration 2014-05-05 22:15:03 +02:00
migration-unix.c Coverity: Fix failure path for qemu_accept in migration 2014-05-05 22:15:03 +02:00
migration.c migration: catch unknown flags in ram_load 2014-06-16 04:55:27 +02:00
module-common.c module: implement module loading 2014-02-20 13:14:18 +01:00
monitor.c monitor: fix debug print compiling error 2014-09-12 11:01:50 -04:00
nbd.c nbd: Follow the BDS' AIO context 2014-08-29 10:48:45 +01:00
numa.c memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
os-posix.c oslib-posix: Fix build on FreeBSD 2014-03-13 14:34:16 +00:00
os-win32.c util: Split out exec_dir from os_find_datadir 2014-02-20 13:12:54 +01:00
page_cache.c migration: Plug memory leak in migrate-set-cache-size command 2014-06-10 19:54:43 +04:00
qapi-schema.json cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
qdev-monitor.c trivial patches for 2014-08-15 2014-08-15 18:44:48 +01:00
qdict-test-data.txt Introduce QDict test data file 2009-09-04 09:37:34 -05:00
qemu-bridge-helper.c qemu-bridge-helper: Fix fd leak in main() 2014-06-27 10:39:10 +02:00
qemu-char.c qemu-char: Rename register_char_driver_qapi() to register_char_driver() 2014-09-16 23:36:32 +01:00
qemu-coroutine-io.c qemu-coroutine-io: fix for Win32 2014-08-29 10:46:58 +01: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: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
qemu-coroutine.c coroutine: make pool size dynamic 2014-08-15 15:07:14 +02:00
qemu-doc.texi qcow2: Add falloc and full preallocation option 2014-09-12 15:43:06 +02:00
qemu-file.c Make qemu_peek_buffer loop until it gets it's data 2014-05-05 22:15:03 +02:00
qemu-img-cmds.hx qemu-img: Allow cache mode specification for amend 2014-08-22 14:54:48 +02:00
qemu-img.c qemu-img: clarify src_cache option documentation 2014-09-08 11:12:43 +01:00
qemu-img.texi qcow2: Add falloc and full preallocation option 2014-09-12 15:43:06 +02:00
qemu-io-cmds.c qemu-io-cmds: g_renew() can't fail, bury dead error handling 2014-08-20 11:51:28 +02:00
qemu-io.c qemu-io: Clean up openfile() after commit 2e40134 2014-09-10 10:41:29 +02:00
qemu-log.c qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
qemu-nbd.c qemu-nbd: fix indentation and coding style 2014-09-08 11:12:43 +01:00
qemu-nbd.texi nbd: Miscellaneous typo fixes. 2014-05-24 00:07:29 +04:00
qemu-options-wrapper.h vl.c: In qemu -h output, only print options for the arch we are running as 2011-12-19 10:27:33 -06:00
qemu-options.h vl.c: Move option generation logic into a wrapper file 2011-12-19 10:27:33 -06:00
qemu-options.hx pci, pc fixes, features 2014-09-02 16:07:31 +01:00
qemu-seccomp.c seccomp: add semctl() to the syscall whitelist 2014-08-21 10:29:16 +02:00
qemu-tech.texi qemu-tech.texi: update implemented xtensa features list 2012-11-29 13:00:52 -06:00
qemu-timer.c vl.c: remove init_clocks call from main 2014-05-09 20:57:32 +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 sasl: Avoid 'Could not find keytab file' in syslog 2014-03-15 13:54:18 +04:00
qmp-commands.hx cpus: Define callback for QEMU "nmi" command 2014-08-25 13:25:16 +02:00
qmp.c qmp: hide "hotplugged" device property from device-list-properties 2014-08-15 15:07:13 +02:00
qtest.c icount: Add QemuOpts for icount 2014-08-06 17:53:07 +02:00
README Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
rules.mak Fix cross compilation (nm command) 2014-09-19 17:20:11 +01:00
savevm.c savevm: check vmsd for migratability status 2014-06-25 23:54:57 +02:00
softmmu_template.h implementing victim TLB for QEMU system emulated TLB 2014-09-01 17:43:06 +01:00
spice-qemu-char.c qemu-char: Rename register_char_driver_qapi() to register_char_driver() 2014-09-16 23:36:32 +01:00
tcg-runtime.c tcg: Push tcg-runtime routines into exec/helper-* 2014-05-28 09:33:54 -07:00
tci.c Merge remote-tracking branch 'remotes/bonzini/softmmu-smap' into staging 2014-06-05 21:06:14 +01:00
thread-pool.c thread-pool: Drop unnecessary includes 2014-09-10 10:41:29 +02:00
thunk.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
tpm.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
trace-events console: stop using PixelFormat 2014-09-05 13:27:11 +02:00
translate-all.c trace: add some tcg tracing support 2014-08-12 14:26:12 +01:00
translate-all.h translate-all: Change tb_check_watchpoint() argument to CPUState 2014-03-13 19:20:48 +01:00
user-exec.c softmmu: introduce cpu_ldst.h 2014-06-05 16:10:33 +02:00
VERSION Open 2.2 development tree 2014-08-01 18:30:08 +01:00
version.rc Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
vl.c pci, pc, virtio, misc bugfixes 2014-09-18 20:02:01 +01:00
vmstate.c vmstate: Add preallocation for migrating arrays (VMS_ALLOC flag) 2014-06-27 13:48:27 +02:00
xbzrle.c xbzrle.c: Avoid undefined behaviour with signed arithmetic 2014-04-18 10:33:36 +04:00
xen-common-stub.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-common.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-hvm-stub.c xen-hvm: Fix xen_hvm_init() to adjust pc memory layout 2014-06-23 17:50:04 +03:00
xen-hvm.c memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
xen-mapcache.c xen: build on ARM 2014-07-07 10:37:40 +00:00

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

- QEMU team