mirror_qemu/include
David Gibson 715c54071a pseries: Simplify handling of the hash page table fd
When migrating the 'pseries' machine type with KVM, we use a special fd
to access the hash page table stored within KVM.  Usually, this fd is
opened at the beginning of migration, and kept open until the migration
is complete.

However, if there is a guest reset during the migration, the fd can become
stale and we need to re-open it.  At the moment we use an 'htab_fd_stale'
flag in sPAPRMachineState to signal this, which is checked in the migration
iterators.

But that's rather ugly.  It's simpler to just close and invalidate the
fd on reset, and lazily re-open it in migration if necessary.  This patch
implements that change.

This requires a small addition to the machine state's instance_init,
so that htab_fd is initialized to -1 (telling the migration code it
needs to open it) instead of 0, which could be a valid fd.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
2016-02-17 09:59:30 +11:00
..
block nbd: implement TLS support in the protocol negotiation 2016-02-16 17:16:28 +01:00
crypto crypto: fix description of @errp parameter initialization 2016-02-01 14:11:35 +00:00
disas disas: Add print_insn to disassemble info 2015-07-09 15:20:40 +02:00
exec memory: fix usage of find_next_bit and find_next_zero_bit 2016-02-10 22:38:24 +00:00
fpu fpu: Replace uint8 typedef with uint8_t 2016-01-22 15:09:21 +00:00
hw pseries: Simplify handling of the hash page table fd 2016-02-17 09:59:30 +11:00
io io: convert QIOChannelBuffer to use uint8_t instead of char 2016-02-15 14:49:18 +00:00
libdecnumber Fix new typos in comments (found by codespell) 2014-07-18 17:45:36 +04:00
migration pc and misc cleanups and fixes, virtio optimizations 2016-02-08 11:25:31 +00:00
monitor qom: add helpers for UserCreatable object types 2016-02-16 17:12:57 +01:00
net net/filter: Fix the output information for command 'info network' 2016-02-04 14:13:11 +08:00
qapi Error reporting patches for 2016-02-09 2016-02-09 16:09:15 +00:00
qemu oslib-posix.c: Move workaround for OSX daemon() deprecation to osdep.h 2016-02-16 14:29:28 +00:00
qom qom: add helpers for UserCreatable object types 2016-02-16 17:12:57 +01:00
standard-headers linux-headers: update from kvm/next 2015-12-17 15:24:34 +01:00
sysemu w32: include winsock2.h before windows.h 2016-02-11 15:15:47 +03:00
ui virtio-gpu: bugfixes and spice support preparation 2016-02-03 12:23:48 +00:00
config.h janitor: move remaining public headers to include/ 2012-12-19 08:32:46 +01:00
elf.h elf: add arm note types 2016-01-15 14:55:16 +00:00
glib-compat.h glib: add compatibility interface for g_hash_table_add() 2015-10-30 09:01:03 +01:00
qemu-common.h cpu: cpu_save/cpu_load is no more 2016-02-11 15:15:46 +03:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
qjson.h QJSON: Add JSON writer 2015-02-05 17:16:14 +01:00
trace-tcg.h trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
trace.h trace: [tcg] Include event definitions in "trace.h" 2014-08-12 14:26:12 +01:00