diff options
author | Peter Maydell | 2015-01-16 11:16:14 +0100 |
---|---|---|
committer | Peter Maydell | 2015-01-16 11:16:14 +0100 |
commit | e68cba36360a2ab5bf0576b66df4d0eb0d822f8d (patch) | |
tree | 933ecff5cc8e380fe38693dc0cca2d7b8e479dfc /include/migration/qemu-file.h | |
parent | Merge remote-tracking branch 'remotes/mjt/tags/pull-trivial-patches-2015-01-1... (diff) | |
parent | vmstate: type-check sub-arrays (diff) | |
download | qemu-e68cba36360a2ab5bf0576b66df4d0eb0d822f8d.tar.gz qemu-e68cba36360a2ab5bf0576b66df4d0eb0d822f8d.tar.xz qemu-e68cba36360a2ab5bf0576b66df4d0eb0d822f8d.zip |
Merge remote-tracking branch 'remotes/amit-migration/tags/mig-2.3-1' into staging
A set of patches collected over the holidays. Mix of optimizations and
fixes.
# gpg: Signature made Fri 16 Jan 2015 07:42:00 GMT using RSA key ID 854083B6
# gpg: Good signature from "Amit Shah <amit@amitshah.net>"
# gpg: aka "Amit Shah <amit@kernel.org>"
# gpg: aka "Amit Shah <amitshah@gmx.net>"
* remotes/amit-migration/tags/mig-2.3-1:
vmstate: type-check sub-arrays
migration_cancel: shutdown migration socket
Handle bi-directional communication for fd migration
socket shutdown
Tests: QEMUSizedBuffer/QEMUBuffer
QEMUSizedBuffer: only free qsb that qemu_bufopen allocated
xbzrle: rebuild the cache_is_cached function
xbzrle: optimize XBZRLE to decrease the cache misses
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/migration/qemu-file.h')
-rw-r--r-- | include/migration/qemu-file.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/migration/qemu-file.h b/include/migration/qemu-file.h index 401676bf4d..d843c0010c 100644 --- a/include/migration/qemu-file.h +++ b/include/migration/qemu-file.h @@ -84,6 +84,14 @@ typedef size_t (QEMURamSaveFunc)(QEMUFile *f, void *opaque, size_t size, int *bytes_sent); +/* + * Stop any read or write (depending on flags) on the underlying + * transport on the QEMUFile. + * Existing blocking reads/writes must be woken + * Returns 0 on success, -err on error + */ +typedef int (QEMUFileShutdownFunc)(void *opaque, bool rd, bool wr); + typedef struct QEMUFileOps { QEMUFilePutBufferFunc *put_buffer; QEMUFileGetBufferFunc *get_buffer; @@ -94,6 +102,7 @@ typedef struct QEMUFileOps { QEMURamHookFunc *after_ram_iterate; QEMURamHookFunc *hook_ram_load; QEMURamSaveFunc *save_page; + QEMUFileShutdownFunc *shut_down; } QEMUFileOps; struct QEMUSizedBuffer { @@ -177,6 +186,7 @@ void qemu_file_set_rate_limit(QEMUFile *f, int64_t new_rate); int64_t qemu_file_get_rate_limit(QEMUFile *f); int qemu_file_get_error(QEMUFile *f); void qemu_file_set_error(QEMUFile *f, int ret); +int qemu_file_shutdown(QEMUFile *f); void qemu_fflush(QEMUFile *f); static inline void qemu_put_be64s(QEMUFile *f, const uint64_t *pv) |