mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 02:24:38 +00:00
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>
This commit is contained in:
committed by
Fabiano Rosas
parent
20125d93af
commit
f43a45ba09
@@ -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));
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user