Browse Source

qemu-file: qemu_file_get_fd(): improve interface

Make it symmetrical with qemu_file_put_fd() and simplify callers.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/qemu-devel/20260114064710.176268-6-vsementsov@yandex-team.ru
Signed-off-by: Fabiano Rosas <farosas@suse.de>
pull/316/head
Vladimir Sementsov-Ogievskiy 7 months ago
committed by Fabiano Rosas
parent
commit
f43a45ba09
  1. 9
      migration/qemu-file.c
  2. 2
      migration/qemu-file.h
  3. 10
      migration/vmstate-types.c

9
migration/qemu-file.c

@ -385,9 +385,8 @@ int qemu_file_put_fd(QEMUFile *f, int fd)
return ret;
}
int qemu_file_get_fd(QEMUFile *f)
int qemu_file_get_fd(QEMUFile *f, int *fd)
{
int fd = -1;
FdEntry *fde;
Error *err = NULL;
int service_byte;
@ -410,12 +409,12 @@ int qemu_file_get_fd(QEMUFile *f)
goto fail;
}
fd = fde->fd;
*fd = fde->fd;
QTAILQ_REMOVE(&f->fds, fde, entry);
g_free(fde);
trace_qemu_file_get_fd(f->ioc->name, fd);
return fd;
trace_qemu_file_get_fd(f->ioc->name, *fd);
return 0;
fail:
error_report_err(error_copy(err));

2
migration/qemu-file.h

@ -82,6 +82,6 @@ size_t qemu_get_buffer_at(QEMUFile *f, const uint8_t *buf, size_t buflen,
QIOChannel *qemu_file_get_ioc(QEMUFile *file);
int qemu_file_put_fd(QEMUFile *f, int fd);
int qemu_file_get_fd(QEMUFile *f);
int qemu_file_get_fd(QEMUFile *f, int *fd);
#endif

10
migration/vmstate-types.c

@ -321,7 +321,6 @@ const VMStateInfo vmstate_info_uint64 = {
static int get_fd(QEMUFile *f, void *pv, size_t size,
const VMStateField *field)
{
int fd;
int32_t *v = pv;
if (migrate_mode() == MIG_MODE_CPR_EXEC) {
@ -329,14 +328,7 @@ static int get_fd(QEMUFile *f, void *pv, size_t size,
return 0;
}
fd = qemu_file_get_fd(f);
if (fd < 0) {
return -1;
}
*v = fd;
return 0;
return qemu_file_get_fd(f, v);
}
static int put_fd(QEMUFile *f, void *pv, size_t size,

Loading…
Cancel
Save