On Thu, Dec 7, 2023 at 7:52 PM Si-Wei Liu <si-wei.liu@oracle.com> wrote:
>
> Previous commits had it removed. Now adding it back because
> this function will be needed by next patches.
>
> Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
> ---
> net/vhost-vdpa.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
> index dbfa192..c9bfc6f 100644
> --- a/net/vhost-vdpa.c
> +++ b/net/vhost-vdpa.c
> @@ -287,6 +287,16 @@ static ssize_t vhost_vdpa_receive(NetClientState *nc, const uint8_t *buf,
> return size;
> }
>
> +
Extra newline.
> +/** From any vdpa net client, get the netclient of the first queue pair */
> +static VhostVDPAState *vhost_vdpa_net_first_nc_vdpa(VhostVDPAState *s)
> +{
> + NICState *nic = qemu_get_nic(s->nc.peer);
> + NetClientState *nc0 = qemu_get_peer(nic->ncs, 0);
> +
> + return DO_UPCAST(VhostVDPAState, nc, nc0);
> +}
> +
> static void vhost_vdpa_net_log_global_enable(VhostVDPAState *s, bool enable)
> {
> struct vhost_vdpa *v = &s->vhost_vdpa;
> @@ -566,7 +576,7 @@ dma_map_err:
>
> static int vhost_vdpa_net_cvq_start(NetClientState *nc)
> {
> - VhostVDPAState *s;
> + VhostVDPAState *s, *s0;
> struct vhost_vdpa *v;
> int64_t cvq_group;
> int r;
> @@ -577,7 +587,8 @@ static int vhost_vdpa_net_cvq_start(NetClientState *nc)
> s = DO_UPCAST(VhostVDPAState, nc, nc);
> v = &s->vhost_vdpa;
>
> - v->shadow_vqs_enabled = v->shared->shadow_data;
> + s0 = vhost_vdpa_net_first_nc_vdpa(s);
> + v->shadow_vqs_enabled = s0->vhost_vdpa.shadow_vqs_enabled;
> s->vhost_vdpa.address_space_id = VHOST_VDPA_GUEST_PA_ASID;
I'm wondering if shared->shadow_data is more correct now.
Either way:
Reviewed-by: Eugenio Pérez <eperezma@redhat.com>
Thanks!
>
> if (v->shared->shadow_data) {
> --
> 1.8.3.1
>
>