Skip to content
Snippets Groups Projects
Commit 02bdbe17 authored by Daniel P. Berrangé's avatar Daniel P. Berrangé Committed by Dr. David Alan Gilbert
Browse files

migration: remove the QEMUFileOps 'get_return_path' callback


This directly implements the get_return_path logic using QIOChannel APIs.

Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
parent ec2135ee
No related branches found
No related tags found
No related merge requests found
......@@ -32,27 +32,11 @@
#include "yank_functions.h"
static QEMUFile *channel_get_input_return_path(void *opaque)
{
QIOChannel *ioc = QIO_CHANNEL(opaque);
return qemu_fopen_channel_output(ioc);
}
static QEMUFile *channel_get_output_return_path(void *opaque)
{
QIOChannel *ioc = QIO_CHANNEL(opaque);
return qemu_fopen_channel_input(ioc);
}
static const QEMUFileOps channel_input_ops = {
.get_return_path = channel_get_input_return_path,
};
static const QEMUFileOps channel_output_ops = {
.get_return_path = channel_get_output_return_path,
};
......
......@@ -95,18 +95,6 @@ int qemu_file_shutdown(QEMUFile *f)
return ret;
}
/*
* Result: QEMUFile* for a 'return path' for comms in the opposite direction
* NULL if not available
*/
QEMUFile *qemu_file_get_return_path(QEMUFile *f)
{
if (!f->ops->get_return_path) {
return NULL;
}
return f->ops->get_return_path(f->ioc);
}
bool qemu_file_mode_is_not_valid(const char *mode)
{
if (mode == NULL ||
......@@ -134,6 +122,16 @@ static QEMUFile *qemu_file_new_impl(QIOChannel *ioc,
return f;
}
/*
* Result: QEMUFile* for a 'return path' for comms in the opposite direction
* NULL if not available
*/
QEMUFile *qemu_file_get_return_path(QEMUFile *f)
{
object_ref(f->ioc);
return qemu_file_new_impl(f->ioc, f->ops, !f->is_writable);
}
QEMUFile *qemu_file_new_output(QIOChannel *ioc, const QEMUFileOps *ops)
{
return qemu_file_new_impl(ioc, ops, true);
......
......@@ -55,13 +55,7 @@ typedef size_t (QEMURamSaveFunc)(QEMUFile *f,
size_t size,
uint64_t *bytes_sent);
/*
* Return a QEMUFile for comms in the opposite direction
*/
typedef QEMUFile *(QEMURetPathFunc)(void *opaque);
typedef struct QEMUFileOps {
QEMURetPathFunc *get_return_path;
} QEMUFileOps;
typedef struct QEMUFileHooks {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment