aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-12-07 10:57:57 +0200
committerAvi Kivity <avi@redhat.com>2009-12-07 10:57:57 +0200
commit733bd8964598df596b362ee529200ea3694b1b3a (patch)
treecd562dae077e59a5290432c210ea6925bde4c9d6 /sysemu.h
parentMerge commit '5fa737a4792c0aef9cf0588242336eefb0cb8ca8' into upstream-merge (diff)
parentIntroduce rerror option for drives (diff)
downloadqemu-kvm-733bd8964598df596b362ee529200ea3694b1b3a.tar.gz
qemu-kvm-733bd8964598df596b362ee529200ea3694b1b3a.tar.bz2
qemu-kvm-733bd8964598df596b362ee529200ea3694b1b3a.zip
Merge commit 'e9b2e81889d9877415710484b876ee57a42b0bcb' into upstream-merge
* commit 'e9b2e81889d9877415710484b876ee57a42b0bcb': (140 commits) Introduce rerror option for drives Rename DriveInfo.onerror to on_write_error ram migration: Properly reset statistics qemu-opts: Release id on deletion live migration: Serialize vmstate saving in stage 2 block migration: Skip zero-sized disks block migration: Increase dirty chunk size to 1M block migration: Add support for restore progress reporting block migration: Report progress also via info migration block migration: Fix outgoing progress output live migration: Propagate output monitor to callback handler block migration: Report overall migration progress live migration: Allow cleanup after cancellation or error ram migration: Stop loading on error block migration: Add error handling/propagation block migration: Consolidate block transmission block migration: Consolidate mig_read_device_bulk into mig_save_device_bulk block migration: Clean up use of total_sectors block migration: Initialize remaining BlkMigState fields block migration: Switch device and block lists to QSIMPLEQ ... Conflicts: vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'sysemu.h')
-rw-r--r--sysemu.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/sysemu.h b/sysemu.h
index 532117cd5..8d57d0bdb 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -63,10 +63,11 @@ void qemu_announce_self(void);
void main_loop_wait(int timeout);
-int qemu_savevm_state_begin(QEMUFile *f, int blk_enable, int shared);
-int qemu_savevm_state_iterate(QEMUFile *f);
-int qemu_savevm_state_complete(QEMUFile *f);
-int qemu_savevm_state(QEMUFile *f);
+int qemu_savevm_state_begin(Monitor *mon, QEMUFile *f, int blk_enable,
+ int shared);
+int qemu_savevm_state_iterate(Monitor *mon, QEMUFile *f);
+int qemu_savevm_state_complete(Monitor *mon, QEMUFile *f);
+void qemu_savevm_state_cancel(Monitor *mon, QEMUFile *f);
int qemu_loadvm_state(QEMUFile *f);
void qemu_errors_to_file(FILE *fp);
@@ -181,7 +182,8 @@ typedef struct DriveInfo {
int bus;
int unit;
QemuOpts *opts;
- BlockInterfaceErrorAction onerror;
+ BlockInterfaceErrorAction on_read_error;
+ BlockInterfaceErrorAction on_write_error;
char serial[BLOCK_SERIAL_STRLEN + 1];
QTAILQ_ENTRY(DriveInfo) next;
} DriveInfo;
@@ -199,7 +201,9 @@ extern DriveInfo *drive_get_by_id(const char *id);
extern int drive_get_max_bus(BlockInterfaceType type);
extern void drive_uninit(DriveInfo *dinfo);
extern const char *drive_get_serial(BlockDriverState *bdrv);
-extern BlockInterfaceErrorAction drive_get_onerror(BlockDriverState *bdrv);
+
+extern BlockInterfaceErrorAction drive_get_on_error(
+ BlockDriverState *bdrv, int is_read);
BlockDriverState *qdev_init_bdrv(DeviceState *dev, BlockInterfaceType type);