* Ross Lagerwall ([email protected]) wrote:
> QEMUFile uses buffered IO so when writing small amounts (such as the Xen
> device state file), the actual write call and any errors that may occur
> only happen as part of qemu_fclose(). Therefore, report IO errors when
> saving the device state under Xen by checking the return value of
> qemu_fclose().
>
> Signed-off-by: Ross Lagerwall <[email protected]>
Queued.
> ---
> migration/savevm.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/migration/savevm.c b/migration/savevm.c
> index b7908f6..4b9d5be 100644
> --- a/migration/savevm.c
> +++ b/migration/savevm.c
> @@ -2267,8 +2267,7 @@ void qmp_xen_save_devices_state(const char *filename,
> bool has_live, bool live,
> qio_channel_set_name(QIO_CHANNEL(ioc), "migration-xen-save-state");
> f = qemu_fopen_channel_output(QIO_CHANNEL(ioc));
> ret = qemu_save_device_state(f);
> - qemu_fclose(f);
> - if (ret < 0) {
> + if (ret < 0 || qemu_fclose(f) < 0) {
> error_setg(errp, QERR_IO_ERROR);
> } else {
> /* libxl calls the QMP command "stop" before calling
> --
> 2.9.5
>
>
--
Dr. David Alan Gilbert / [email protected] / Manchester, UK