Find a file
Michael S. Tsirkin a083a89d72 net: delay freeing peer host device
With -netdev, virtio devices present offload
features to guest, depending on the backend used.
Thus, removing host netdev peer while guest is
active leads to guest-visible inconsistency and/or crashes.

As a solution, while guest (NIC) peer device exists,
we prevent the host peer from being deleted.
This patch does this by adding peer_deleted flag in nic state:
if host device is going away while guest device
is around, set this flag and keep a shell of
the host device around for as long as guest device exists.

The link is put down so all packets will get discarded.

At the moment, management can detect that device deletion
is delayed by doing info net. As a next step, we shall add
commands that control hotplug/unplug without
removing the device, and an event to report that
guest has responded to the hotplug event.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
2010-10-06 18:24:37 +02:00
audio Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
block block/vvfat: Fix compiler warning in debug code 2010-10-03 06:40:54 +00:00
bsd-user Replace most gcc format attributes by macro GCC_FMT_ATTR (format checking) 2010-10-03 06:34:36 +00:00
darwin-user Replace most gcc format attributes by macro GCC_FMT_ATTR (format checking) 2010-10-03 06:34:36 +00:00
default-configs powerpc: Add a virtex5 ml507 refdesign board 2010-09-30 18:53:30 +02:00
docs blkverify: Add block driver for verifying I/O 2010-09-21 17:00:53 +02:00
fpu softfloat: add float32_exp2() 2010-07-13 18:18:23 +02:00
fsdev virtio-9p: Introduces an option to specify the security model. 2010-06-22 15:15:30 -05:00
gdb-xml
hw rc4030: Fix compilation error in debug code 2010-10-03 06:41:03 +00:00
linux-user Replace most gcc format attributes by macro GCC_FMT_ATTR (format checking) 2010-10-03 06:34:36 +00:00
net tap: Add stub for Haiku 2010-10-03 06:31:41 +00:00
pc-bios Sparc: update OpenBIOS images to r859 2010-08-26 17:57:47 +00:00
QMP QMP: Update README file 2010-08-22 17:11:06 -05:00
roms Update SeaBIOS 2010-07-13 08:55:04 -05:00
slirp Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
sysconfigs/target Add cpu model configuration support.. 2010-02-22 16:16:17 -06:00
target-alpha remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-arm remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-cris target-cris: Use %td for ptrdiff_t arguments in debug message 2010-10-02 13:12:21 +02:00
target-i386 QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05:00
target-m68k remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-microblaze target-microblaze: Use %td for ptrdiff_t arguments in debug message 2010-10-02 13:12:21 +02:00
target-mips MIPS: fix yield handling 2010-09-18 05:53:15 +00:00
target-ppc powerpc: Add a virtex5 ml507 refdesign board 2010-09-30 18:53:30 +02:00
target-s390x remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
target-sh4 target-sh4: Add support for ldc & stc with sgr 2010-07-12 10:20:31 +02:00
target-sparc remove exec-all.h inclusion from cpu.h 2010-07-03 09:48:24 +03:00
tcg TCG: Revert ppc64 tcg_out_movi32 change 2010-08-15 00:57:40 +04:00
tests Remove wrong semicolon in macro definition 2010-09-14 10:58:38 +02:00
ui vnc: use bswapNN() rather than bswap_NN() 2010-09-04 10:11:32 +00:00
.gitignore trace: Add simple built-in tracing backend 2010-09-09 16:22:44 -05:00
.gitmodules use absolute URLs for .gitmodules 2010-03-06 23:09:28 +01:00
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c block: fix aio_flush segfaults for read-only protocols (e.g. curl) 2010-05-21 11:49:18 +02:00
alpha-dis.c
alpha.ld
arch_init.c Introduce qemu_madvise() 2010-09-25 11:26:05 +00:00
arch_init.h Refactor target specific handling, compile vl.c only once 2010-03-29 19:23:52 +00:00
arm-dis.c arm: remove dead assignments, spotted by clang analyzer 2010-04-25 19:31:06 +00:00
arm-semi.c GDB exit status for semihosting 2010-06-16 13:03:51 +01:00
arm.ld
async.c Introduce contexts for asynchronous callbacks 2009-10-27 12:28:59 -05:00
balloon.c trace: Trace entry point of balloon request handler 2010-09-09 16:22:45 -05:00
balloon.h move balloon handling to balloon.c 2010-04-09 18:55:56 +02:00
block-migration.c block migration: replace tabs by spaces. 2010-08-03 15:57:22 +02:00
block-migration.h block migration: Report progress also via info migration 2009-12-03 10:48:53 -06:00
block.c trace: Trace virtio-blk, multiwrite, and paio_submit 2010-09-09 16:22:45 -05:00
block.h block: Fix BDRV_O_CACHE_MASK 2010-09-08 12:39:22 +02:00
block_int.h Revert "Make default invocation of block drivers safer (v3)" 2010-09-08 17:09:15 -05:00
blockdev.c QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05:00
blockdev.h blockdev: Use GCC_FMT_ATTR (format checking) 2010-10-03 06:37:13 +00:00
bswap.h Fix leul_to_cpu on big endian hosts 2010-05-31 20:55:23 +02:00
bt-host.c bt: remove dead assignments, spotted by clang analyzer 2010-04-25 18:20:28 +00:00
bt-host.h
bt-vhci.c
buffered_file.c set proper migration status on ->write error (v5) 2010-08-19 08:44:37 -05:00
buffered_file.h
cache-utils.c FreeBSD ppc_init_cacheline_sizes(): add missing #includes 2010-03-13 01:14:01 +03:00
cache-utils.h
Changelog Update version and changelog to sync with stable branch 2009-12-19 08:26:03 -06:00
check-qdict.c check-qdict: Introduce test for the new iteration API 2010-07-01 14:27:13 -03:00
check-qfloat.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
check-qint.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
check-qjson.c Merge remote branch 'qmp/for-anthony' into staging 2010-06-14 09:39:01 -05:00
check-qlist.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
check-qstring.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
cmd.c qemu-io: check registered fds in command_loop() 2010-06-22 14:38:02 +02:00
cmd.h
CODING_STYLE HACKING: add C type rules 2010-09-10 18:47:31 +00:00
config.h Makefile dependencies for device configs 2009-11-22 21:24:54 +00:00
configure configure: Don't rely on special pthreads library 2010-10-03 06:31:14 +00:00
console.c console: Avoid dereferencing NULL active_console 2010-10-03 06:43:10 +00:00
console.h un-register kbd driver in case of USB kbd unplug. 2010-06-14 15:46:28 -05:00
COPYING
COPYING.LIB
cpu-all.h linux-user: fix build on hosts not using guest base 2010-07-30 21:09:10 +02:00
cpu-common.h Add qemu_ram_alloc_from_ptr function 2010-08-10 16:25:15 -05:00
cpu-defs.h move stop/stopped CPU_COMMON fields after area zeroed by reset 2010-05-11 14:02:22 -03:00
cpu-exec.c mips: Add support for VInt and VEIC irq modes 2010-08-06 12:21:16 +02:00
cpus.c Rework debug exception processing for gdb use 2010-07-22 05:52:09 +02:00
cpus.h Rename tcg_cpu_exec and tcg_has_work 2010-07-22 05:52:09 +02:00
create_config configure: Fix evaluation of config-host.mak in create_config 2010-06-13 12:50:30 +02:00
cris-dis.c bdf: Remove last users of FALSE/TRUE 2009-10-05 09:32:44 -05:00
cursor.c cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cursor_hidden.xpm cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cursor_left_ptr.xpm cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cutils.c cutils: qemu_iovec_copy and qemu_iovec_memset 2010-09-21 15:39:42 +02:00
def-helper.h tcg: Optionally sign-extend 32-bit arguments for 64-bit hosts. 2010-06-16 11:29:11 +02:00
device_tree.c
device_tree.h
dis-asm.h ia64 disas support 2010-04-01 21:51:59 +02:00
disas.c Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
disas.h Disassembler symbol lookup fix 2010-03-01 04:39:50 +00:00
dma-helpers.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
dma.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
dyngen-exec.h Move stdbool.h 2010-06-13 19:00:50 +01:00
elf.h Add more DT_* and AT_* constants to qemu's copy of elf.h. 2010-07-29 08:32:27 +02:00
envlist.c
envlist.h
exec-all.h remove dead code 2010-07-24 14:42:29 +02:00
exec.c exec: Fix compilation error for debug code 2010-10-03 06:41:09 +00:00
feature_to_c.sh Use gcc warning flag -Wnested-externs 2010-09-18 07:02:16 +00:00
gdbstub.c Use gcc warning flag -Wnested-externs 2010-09-18 07:02:16 +00:00
gdbstub.h Use gcc warning flag -Wnested-externs 2010-09-18 07:02:16 +00:00
gen-icount.h Compile qemu-timer only once 2010-03-29 19:24:00 +00:00
HACKING HACKING: add rules for printf-like functions 2010-09-10 18:53:11 +00:00
host-utils.c
host-utils.h target-alpha: Fix generic ctz64. 2009-12-17 18:12:04 +01:00
hpet.h
hppa-dis.c tcg-hppa: Fix const errors in hppa-dis.c 2010-03-23 22:00:43 +01:00
hppa.ld
hxtool hxtool: Fix line number reporting on SQMP/EQMP errors 2010-06-11 16:35:46 -03:00
i386-dis.c i386-dis: Fix unused return value, spotted by clang 2010-04-18 14:27:44 +00:00
i386.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00
ia64-dis.c Fix %lld or %llx printf format use 2010-05-22 08:02:12 +00:00
ia64.ld
input.c un-register kbd driver in case of USB kbd unplug. 2010-06-14 15:46:28 -05:00
ioport-user.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ioport.c trace: Trace port IO 2010-09-09 16:22:45 -05:00
ioport.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
iov.c iov: Move from hw/ to topdir 2010-05-10 11:36:03 -05:00
iov.h iov: Move from hw/ to topdir 2010-05-10 11:36:03 -05:00
json-lexer.c remove unnecessary lookaheads 2010-06-11 15:25:14 -03:00
json-lexer.h Add a lexer for JSON 2009-11-17 08:49:39 -06:00
json-parser.c Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
json-parser.h Add a JSON parser 2009-11-17 08:49:39 -06:00
json-streamer.c json-streamer: Don't use qdict_put_obj() 2010-06-11 15:25:14 -03:00
json-streamer.h Add a JSON message boundary identifier 2009-11-17 08:49:39 -06:00
kvm-all.c Introduce qemu_madvise() 2010-09-25 11:26:05 +00:00
kvm-stub.c Add kvm_set_ioeventfd_mmio_long definition for non-KVM systems 2010-08-15 09:44:47 +00:00
kvm.h Add function to assign ioeventfd to MMIO. 2010-08-10 16:25:15 -05:00
libfdt_env.h
LICENSE
linux-aio.c linux-aio: Fix typo in read() EINTR check 2010-04-23 16:21:57 +02:00
m68k-dis.c m68k-dis: fix unused return value, spotted by clang 2010-04-23 19:22:17 +00:00
m68k-semi.c GDB exit status for semihosting 2010-06-16 13:03:51 +01:00
m68k.ld
MAINTAINERS PPC: Change PPC maintainer 2010-09-07 13:46:17 +02:00
Makefile trace: avoid unnecessary recompilation if nothing changed 2010-10-02 14:28:12 +00:00
Makefile.dis Compile disassemblers only once 2010-03-21 08:28:47 +00:00
Makefile.hw Clean libhw subdirs as well 2010-05-22 08:24:49 +00:00
Makefile.objs tap: Add stub for Haiku 2010-10-03 06:31:41 +00:00
Makefile.target Haiku doesn't have libm 2010-10-03 06:31:21 +00:00
Makefile.user Use vpath directive 2010-01-08 09:58:40 -06:00
microblaze-dis.c microblaze: fix custom fprintf 2010-04-27 18:56:11 +00:00
migration-exec.c Factorize common migration incoming code 2010-06-22 15:15:51 -05:00
migration-fd.c Factorize common migration incoming code 2010-06-22 15:15:51 -05:00
migration-tcp.c Close socket file descriptor when qemu_accept fails 2010-07-25 17:03:51 +02:00
migration-unix.c Factorize common migration incoming code 2010-06-22 15:15:51 -05:00
migration.c set proper migration status on ->write error (v5) 2010-08-19 08:44:37 -05:00
migration.h Factorize common migration incoming code 2010-06-22 15:15:51 -05:00
mips-dis.c mips-dis: add support for Godson integer instructions 2010-06-29 23:26:34 +02:00
mips.ld
module.c
module.h
monitor.c Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
monitor.h Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
nbd.c nbd: Haiku has _IO() in its BSD compatibility layer 2010-10-03 06:31:33 +00:00
nbd.h Merge remote branch 'kwolf/for-anthony' into staging 2010-09-08 14:26:57 -05:00
net-checksum.c
net.c net: delay freeing peer host device 2010-10-06 18:24:37 +02:00
net.h net: delay freeing peer host device 2010-10-06 18:24:37 +02:00
notify.c Add support for generic notifier lists 2010-03-19 15:27:32 -05:00
notify.h Add support for generic notifier lists 2010-03-19 15:27:32 -05:00
os-posix.c Use ARRAY_SIZE macro 2010-08-20 21:03:24 +00:00
os-win32.c win32: Add missing function setenv 2010-08-15 09:45:28 +00:00
osdep.c Introduce qemu_madvise() 2010-09-25 11:26:05 +00:00
osdep.h Introduce qemu_madvise() 2010-09-25 11:26:05 +00:00
path.c path.c fix warning with _FORTIFY_SOURCE 2009-12-25 18:19:15 +00:00
pci-ids.txt
poison.h move targphys.h and hw/poison.h inclusion to cpu-common.h 2010-04-09 18:55:55 +02:00
posix-aio-compat.c use qemu_blockalign consistently 2010-09-21 15:39:42 +02:00
ppc-dis.c
ppc.ld
ppc64.ld
qbool.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qbool.h Add a QBool type 2009-11-17 08:49:39 -06:00
qdict-test-data.txt
qdict.c QDict: Introduce qdict_get_try_bool() 2010-07-01 14:27:13 -03:00
qdict.h QDict: Introduce qdict_get_try_bool() 2010-07-01 14:27:13 -03:00
qemu-aio.h Add qemu_aio_process_queue() 2009-10-27 12:28:59 -05:00
qemu-barrier.h Introduce proper compiler barrier 2010-07-22 05:52:08 +02:00
qemu-binfmt-conf.sh target-alpha: Add binfmt entry. 2009-12-13 20:32:36 +01:00
qemu-char.c QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05:00
qemu-char.h Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
qemu-common.h Replace most gcc format attributes by macro GCC_FMT_ATTR (format checking) 2010-10-03 06:34:36 +00:00
qemu-config.c trace: Add trace file name command-line option 2010-09-09 16:22:44 -05:00
qemu-config.h QemuOpts: make most qemu_*_opts static 2010-08-22 17:11:06 -05:00
qemu-doc.texi nbd: Introduce NBD named exports. 2010-08-30 18:29:22 +02:00
qemu-error.c error: Move qerror_report() from qemu-error.[ch] to qerror.[ch] 2010-03-27 14:30:38 +01:00
qemu-error.h Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
qemu-img-cmds.hx qemu-img: Fix copy+paste bug in documentation 2010-07-13 17:48:17 +02:00
qemu-img.c Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
qemu-img.texi qemu-img: Add 'resize' command to grow/shrink disk images 2010-05-03 10:07:32 +02:00
qemu-io.c use qemu_blockalign consistently 2010-09-21 15:39:42 +02:00
qemu-lock.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
qemu-log.h
qemu-malloc.c trace: Trace qemu_malloc() and qemu_vmalloc() 2010-09-09 16:22:45 -05:00
qemu-monitor.hx trace: Add trace-file command to open/close/flush trace file 2010-09-09 16:22:44 -05:00
qemu-nbd.c nbd: correctly manage default port 2010-09-21 15:39:42 +02:00
qemu-nbd.texi qemu-nbd: Fix wrong description in qemu-nbd.texi 2010-03-06 23:03:50 +01:00
qemu-objects.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qemu-option.c error: New qemu_opts_loc_restore() 2010-07-06 17:05:49 +02:00
qemu-option.h error: New qemu_opts_loc_restore() 2010-07-06 17:05:49 +02:00
qemu-options.h Introduce OS specific cmdline argument handling and move SMB arg to os-posix.c 2010-06-12 08:49:15 +03:00
qemu-options.hx trace: Add trace file name command-line option 2010-09-09 16:22:44 -05:00
qemu-os-posix.h Move set_proc_name() to OS specific files. 2010-06-12 08:49:15 +03:00
qemu-os-win32.h win32: Add define for missing EPROTONOSUPPORT 2010-06-27 19:09:56 +03:00
qemu-queue.h Import a simple queue implementation from NetBSD 2009-12-03 10:48:52 -06:00
qemu-sockets.c qemu-sockets: avoid strlen of NULL pointer 2010-05-18 19:49:16 +02:00
qemu-tech.texi Documentation: Use UTF-8 encoding and fix one wrong encoding 2010-02-10 12:43:04 -06:00
qemu-thread.c qemu-thread: add qemu_mutex/cond_destroy and qemu_mutex_exit 2010-07-26 17:36:14 -05:00
qemu-thread.h qemu-thread: add qemu_mutex/cond_destroy and qemu_mutex_exit 2010-07-26 17:36:14 -05:00
qemu-timer.c savevm: Add DeviceState param 2010-07-06 10:36:28 -05:00
qemu-timer.h Implement cpu_get_real_ticks for Alpha. 2010-04-27 05:50:42 +02:00
qemu-tool.c error: Link qemu-img, qemu-nbd, qemu-io with qemu-error.o 2010-03-27 14:30:38 +01:00
qemu-x509.h move x509 file name defines to qemu-x509.h 2010-03-08 11:30:09 -06:00
qemu.sasl
qemu_socket.h Fix OpenBSD build 2010-09-22 20:05:23 +00:00
qerror.c Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
qerror.h Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
qfloat.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qfloat.h Add a QFloat datatype 2009-11-17 08:49:38 -06:00
qint.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qint.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qjson.c qjson: Handle "\f" 2010-06-11 15:25:14 -03:00
qjson.h Use GCC_FMT_ATTR (format checking) 2010-10-03 06:34:51 +00:00
qlist.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qlist.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qobject.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qstring.c Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qstring.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
range.h Introduce range.h 2010-09-18 05:53:14 +00:00
readline.c cope with printf macro definition in readline.c 2010-02-08 12:12:40 +03:00
readline.h
README
rules.mak Put dependency files in proper subdir 2010-05-22 08:31:20 +00:00
rwhandler.c Don't compile rwhandler.c for user targets 2010-02-20 09:27:38 +00:00
rwhandler.h rwhandler: simplified way to register for mem/io 2010-02-14 16:10:53 +02:00
s390-dis.c s390: Disassemble some general-instruction-extension insns. 2010-06-10 00:46:41 +02:00
s390.ld
savevm.c Fix OpenBSD build warning 2010-09-09 19:13:04 +00:00
sh4-dis.c sh4: Fix compiler warning (fprintf format string) 2010-04-14 01:04:02 +02:00
simpletrace.c trace: Add trace-file command to open/close/flush trace file 2010-09-09 16:22:44 -05:00
simpletrace.h trace: Add trace-file command to open/close/flush trace file 2010-09-09 16:22:44 -05:00
simpletrace.py trace: Add simple built-in tracing backend 2010-09-09 16:22:44 -05:00
softmmu-semi.h
softmmu_defs.h
softmmu_exec.h sparc64: handle asi referencing nucleus and secondary MMU contexts 2010-05-06 23:14:26 +03:00
softmmu_header.h sparc64: fix 32bit load sign extension 2010-06-02 20:04:52 +00:00
softmmu_template.h Split TLB addend and target_phys_addr_t 2010-04-05 00:28:53 +01:00
sparc-dis.c sparc64: more ultrasparc asi extensions for disassembler 2010-05-06 20:13:02 +00:00
sparc.ld
sparc64.ld
sysemu.h migration: Accept 'cont' only after successful incoming migration 2010-07-30 23:14:08 +02:00
targphys.h Split TLB addend and target_phys_addr_t 2010-04-05 00:28:53 +01:00
tcg-runtime.c tcg: add div/rem 32-bit helpers 2010-03-14 22:04:50 +01:00
texi2pod.pl
thunk.c
thunk.h
TODO
trace-events trace: fix a typo 2010-09-10 23:54:56 +03:00
tracetool trace: fix a regex portability problem 2010-09-11 10:43:39 +00:00
translate-all.c tcg: get rid of copy_size in TCGOpDef 2010-06-09 16:10:50 +02:00
uboot_image.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
usb-bsd.c qdev: Replace device names containing whitespace 2009-12-12 07:59:38 -06:00
usb-linux.c Return usb device to host on exit 2010-06-30 22:51:17 +02:00
usb-stub.c
VERSION Update version for 0.13.x 2010-07-28 07:58:15 -05:00
version.rc mingw: add version information to the executables 2010-09-26 16:07:57 +00:00
vgafont.h
vl.c Introduce qemu_madvise() 2010-09-25 11:26:05 +00:00
x86_64.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.