On Thu, Aug 4, 2022 at 5:01 AM Jason Wang <jasow...@redhat.com> wrote: > > > 在 2022/8/3 01:57, Eugenio Pérez 写道: > > Since we're going to allow SVQ to add elements without the guest's > > knowledge and without its own VirtQueueElement, it's easier to check if > > an element is a valid head checking a different thing than the > > VirtQueueElement. > > > > Signed-off-by: Eugenio Pérez <epere...@redhat.com> > > --- > > > Patch looks good to me. But I spot several other issues: > > 1) vhost_svq_add() use size_t for in_num and out_num, is this intended?
Would you prefer them to be unsigned? To me size_t fits better, but VirtQueueElement uses unsigned anyway. > 2) do we need to fail vhost_svq_add() if in_num + out_num == 0? > We can recover from it, but it's a failure of qemu code. - In the case of loading the state to the destination device, we already know the layout (it's always 1 out, 1 in). - In the case of forwarding buffers, there is no way to get a VirtQueueElement with 0 out and 0 in descriptors, due to the virtqueue way of working. Would you prefer to return success in this case? Thanks!