diff options
| author | Laurent Vivier <lvivier@redhat.com> | 2025-07-09 10:24:16 +0200 |
|---|---|---|
| committer | Jason Wang <jasowang@redhat.com> | 2025-07-14 13:27:09 +0800 |
| commit | 9b5b45c7173b0447ec19aed4b901fd22db83d7eb (patch) | |
| tree | 761b3056ace16ee43c945affa133f0bc0a568e37 /net/vhost-user.c | |
| parent | adf684ce6908e2d2883946ffe1790c4ddfcf3ce0 (diff) | |
| download | focaccia-qemu-9b5b45c7173b0447ec19aed4b901fd22db83d7eb.tar.gz focaccia-qemu-9b5b45c7173b0447ec19aed4b901fd22db83d7eb.zip | |
net: Define net_client_set_link()
The code to set the link status is currently located in qmp_set_link(). This function identifies the device by name, searches for the corresponding NetClientState, and then updates the link status. In some parts of the code, such as vhost-user.c, the NetClientState are already available. Calling qmp_set_link() from these locations leads to a redundant search for the clients. This patch refactors the logic by introducing a new function, net_client_set_link(), which accepts a NetClientState array directly. qmp_set_link() is simplified to be a wrapper that performs the client search and then calls the new function. The vhost-user implementation is updated to use net_client_set_link() directly, thereby eliminating the unnecessary client lookup. Signed-off-by: Laurent Vivier <lvivier@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'net/vhost-user.c')
| -rw-r--r-- | net/vhost-user.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/vhost-user.c b/net/vhost-user.c index 0b235e50c6..10ac8dc0b3 100644 --- a/net/vhost-user.c +++ b/net/vhost-user.c @@ -264,7 +264,7 @@ static void chr_closed_bh(void *opaque) vhost_user_save_acked_features(ncs[i]); } - qmp_set_link(name, false, &err); + net_client_set_link(ncs, queues, false); qemu_chr_fe_set_handlers(&s->chr, NULL, NULL, net_vhost_user_event, NULL, opaque, NULL, true); @@ -300,7 +300,7 @@ static void net_vhost_user_event(void *opaque, QEMUChrEvent event) } s->watch = qemu_chr_fe_add_watch(&s->chr, G_IO_HUP, net_vhost_user_watch, s); - qmp_set_link(name, true, &err); + net_client_set_link(ncs, queues, true); s->started = true; qapi_event_send_netdev_vhost_user_connected(name, chr->label); break; |