[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH V3 22/22] simplify savevm
From: |
Steve Sistare |
Subject: |
[PATCH V3 22/22] simplify savevm |
Date: |
Fri, 7 May 2021 05:25:20 -0700 |
Use qf_file_open to simplify a few functions in savevm.c.
No functional change.
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
---
migration/savevm.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/migration/savevm.c b/migration/savevm.c
index 52e2d72..d02bce2 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -2904,8 +2904,9 @@ bool save_snapshot(const char *name, bool overwrite,
const char *vmstate,
void qmp_xen_save_devices_state(const char *filename, bool has_live, bool live,
Error **errp)
{
+ const char *ioc_name = "migration-xen-save-state";
+ int flags = O_WRONLY | O_CREAT | O_TRUNC;
QEMUFile *f;
- QIOChannelFile *ioc;
int saved_vm_running;
int ret;
@@ -2919,14 +2920,10 @@ void qmp_xen_save_devices_state(const char *filename,
bool has_live, bool live,
vm_stop(RUN_STATE_SAVE_VM);
global_state_store_running();
- ioc = qio_channel_file_new_path(filename, O_WRONLY | O_CREAT | O_TRUNC,
- 0660, errp);
- if (!ioc) {
+ f = qf_file_open(filename, flags, 0660, ioc_name, errp);
+ if (!f) {
goto the_end;
}
- qio_channel_set_name(QIO_CHANNEL(ioc), "migration-xen-save-state");
- f = qemu_fopen_channel_output(QIO_CHANNEL(ioc));
- object_unref(OBJECT(ioc));
ret = qemu_save_device_state(f);
if (ret < 0 || qemu_fclose(f) < 0) {
error_setg(errp, QERR_IO_ERROR);
@@ -2954,8 +2951,8 @@ void qmp_xen_save_devices_state(const char *filename,
bool has_live, bool live,
void qmp_xen_load_devices_state(const char *filename, Error **errp)
{
+ const char *ioc_name = "migration-xen-load-state";
QEMUFile *f;
- QIOChannelFile *ioc;
int ret;
/* Guest must be paused before loading the device state; the RAM state
@@ -2967,14 +2964,10 @@ void qmp_xen_load_devices_state(const char *filename,
Error **errp)
}
vm_stop(RUN_STATE_RESTORE_VM);
- ioc = qio_channel_file_new_path(filename, O_RDONLY | O_BINARY, 0, errp);
- if (!ioc) {
+ f = qf_file_open(filename, O_RDONLY | O_BINARY, 0, ioc_name, errp);
+ if (!f) {
return;
}
- qio_channel_set_name(QIO_CHANNEL(ioc), "migration-xen-load-state");
- f = qemu_fopen_channel_input(QIO_CHANNEL(ioc));
- object_unref(OBJECT(ioc));
-
ret = qemu_loadvm_state(f);
qemu_fclose(f);
if (ret < 0) {
--
1.8.3.1
- Re: [PATCH V3 13/22] vfio-pci: cpr part 2, (continued)
- [PATCH V3 08/22] cpr: QMP interfaces, Steve Sistare, 2021/05/07
- [PATCH V3 17/22] chardev: cpr for simple devices, Steve Sistare, 2021/05/07
- [PATCH V3 19/22] chardev: cpr for sockets, Steve Sistare, 2021/05/07
- [PATCH V3 20/22] cpr: only-cpr-capable option, Steve Sistare, 2021/05/07
- [PATCH V3 18/22] chardev: cpr for pty, Steve Sistare, 2021/05/07
- [PATCH V3 16/22] chardev: cpr framework, Steve Sistare, 2021/05/07
- [PATCH V3 22/22] simplify savevm,
Steve Sistare <=
- [PATCH V3 21/22] cpr: maintainers, Steve Sistare, 2021/05/07
- [PATCH V3 09/22] cpr: HMP interfaces, Steve Sistare, 2021/05/07
- Re: [PATCH V3 00/22] Live Update, no-reply, 2021/05/07
- Re: [PATCH V3 00/22] Live Update, Stefan Hajnoczi, 2021/05/12