mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-30 22:03:54 -06:00
migration: split migration hooks out of QEMUFileOps
The QEMUFileOps struct contains the I/O subsystem callbacks and the migration stage hooks. Split the hooks out into a separate QEMUFileHooks struct to make it easier to refactor the I/O side of QEMUFile without affecting the hooks. Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Message-Id: <1461751518-12128-6-git-send-email-berrange@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com>
This commit is contained in:
parent
baf51e7739
commit
0436e09f96
4 changed files with 31 additions and 12 deletions
|
@ -108,13 +108,16 @@ typedef struct QEMUFileOps {
|
|||
QEMUFileCloseFunc *close;
|
||||
QEMUFileGetFD *get_fd;
|
||||
QEMUFileWritevBufferFunc *writev_buffer;
|
||||
QEMURetPathFunc *get_return_path;
|
||||
QEMUFileShutdownFunc *shut_down;
|
||||
} QEMUFileOps;
|
||||
|
||||
typedef struct QEMUFileHooks {
|
||||
QEMURamHookFunc *before_ram_iterate;
|
||||
QEMURamHookFunc *after_ram_iterate;
|
||||
QEMURamHookFunc *hook_ram_load;
|
||||
QEMURamSaveFunc *save_page;
|
||||
QEMURetPathFunc *get_return_path;
|
||||
QEMUFileShutdownFunc *shut_down;
|
||||
} QEMUFileOps;
|
||||
} QEMUFileHooks;
|
||||
|
||||
struct QEMUSizedBuffer {
|
||||
struct iovec *iov;
|
||||
|
@ -129,6 +132,7 @@ QEMUFile *qemu_fdopen(int fd, const char *mode);
|
|||
QEMUFile *qemu_fopen_socket(int fd, const char *mode);
|
||||
QEMUFile *qemu_popen_cmd(const char *command, const char *mode);
|
||||
QEMUFile *qemu_bufopen(const char *mode, QEMUSizedBuffer *input);
|
||||
void qemu_file_set_hooks(QEMUFile *f, const QEMUFileHooks *hooks);
|
||||
int qemu_get_fd(QEMUFile *f);
|
||||
int qemu_fclose(QEMUFile *f);
|
||||
int64_t qemu_ftell(QEMUFile *f);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue