migration: remove the QEMUFileOps 'get_return_path' callback
This directly implements the get_return_path logic using QIOChannel APIs. Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
parent
ec2135eec8
commit
02bdbe172d
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user