mirror of
https://github.com/xemu-project/xemu.git
synced 2026-07-11 01:24:41 +02:00
vfio-user: simplify vfio_user_process()
It can figure out if it's a reply by itself, rather than passing that information in. Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Reviewed-by: Mark Cave-Ayland <mark.caveayland@nutanix.com> Link: https://lore.kernel.org/qemu-devel/20251203100316.3604456-2-john.levon@nutanix.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
committed by
Cédric Le Goater
parent
1f3b34e403
commit
a8731f691d
@@ -147,8 +147,7 @@ VFIOUserFDs *vfio_user_getfds(int numfds)
|
||||
/*
|
||||
* Process a received message.
|
||||
*/
|
||||
static void vfio_user_process(VFIOUserProxy *proxy, VFIOUserMsg *msg,
|
||||
bool isreply)
|
||||
static void vfio_user_process(VFIOUserProxy *proxy, VFIOUserMsg *msg)
|
||||
{
|
||||
|
||||
/*
|
||||
@@ -157,7 +156,7 @@ static void vfio_user_process(VFIOUserProxy *proxy, VFIOUserMsg *msg,
|
||||
*
|
||||
* Requests get queued for the BH.
|
||||
*/
|
||||
if (isreply) {
|
||||
if ((msg->hdr->flags & VFIO_USER_TYPE) == VFIO_USER_REPLY) {
|
||||
msg->complete = true;
|
||||
if (msg->type == VFIO_MSG_WAIT) {
|
||||
qemu_cond_signal(&msg->cv);
|
||||
@@ -187,7 +186,6 @@ static int vfio_user_complete(VFIOUserProxy *proxy, Error **errp)
|
||||
{
|
||||
VFIOUserMsg *msg = proxy->part_recv;
|
||||
size_t msgleft = proxy->recv_left;
|
||||
bool isreply;
|
||||
char *data;
|
||||
int ret;
|
||||
|
||||
@@ -214,8 +212,7 @@ static int vfio_user_complete(VFIOUserProxy *proxy, Error **errp)
|
||||
*/
|
||||
proxy->part_recv = NULL;
|
||||
proxy->recv_left = 0;
|
||||
isreply = (msg->hdr->flags & VFIO_USER_TYPE) == VFIO_USER_REPLY;
|
||||
vfio_user_process(proxy, msg, isreply);
|
||||
vfio_user_process(proxy, msg);
|
||||
|
||||
/* return positive value */
|
||||
return 1;
|
||||
@@ -381,7 +378,7 @@ static int vfio_user_recv_one(VFIOUserProxy *proxy, Error **errp)
|
||||
data += ret;
|
||||
}
|
||||
|
||||
vfio_user_process(proxy, msg, isreply);
|
||||
vfio_user_process(proxy, msg);
|
||||
return 0;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user