[libvirt] [PATCH v2 3/5] qemu: Add vhost-scsi string for -device parameter
Eric Farman
farman at linux.vnet.ibm.com
Fri Sep 16 14:02:25 UTC 2016
On 09/13/2016 04:55 PM, John Ferlan wrote:
> [...]
>
>>>> diff --git a/src/util/virscsi.c b/src/util/virscsi.c
>>>> index 4843367..290b692 100644
>>>> --- a/src/util/virscsi.c
>>>> +++ b/src/util/virscsi.c
>>>> @@ -105,6 +105,32 @@ virSCSIDeviceGetAdapterId(const char *adapter,
>>>> return -1;
>>>> }
>>>> +int
>>>> +virSCSIOpenVhost(int *vhostfd,
>>>> + size_t *vhostfdSize)
>>> Well this is dangerous... I can pass "any" value value here and really
>>> cause some damage. Why the need for a loop?
>> Well, I guess I only half-cleaned it up. I'm not aware of any mechanism
>> to pass multiple fd's for vhost-scsi-pci or vhost-scsi-ccw into QEMU
>> (unlike the virtio-scsi-{ccw|pci} paths), so I started ripping the loops
>> out. Looking at it now, I guess I didn't rip out nearly as much as I
>> thought I did. So, more to remove I guess. Unless leaving it there for
>> an "if the future ever arrives" case is a problem.
>>
> Doh - search on 'vhost-net' to find qemuInterfaceOpenVhostNet... That's
> a multiple open model and depending on virtio.queues which is something
> I believe I was asking about for an attribute num_queues...
Yeah, that was the starting point. What I'd discovered, and why I
started ripping this apart, is that QEMU itself doesn't have an option
to pass multiple fd's for a vhost-scsi device. So while for vhost-net
has fd= and (vhost)fds=, vhost-scsi only has vhostfd=.
qemu-system-s390x: -device
vhost-scsi-ccw,wwpn=naa.500140594524c195,vhostfds=5: Property
'.vhostfds' not found
The queues parameter operates in conjunction with the number of
virtqueue rings that are instantiated for the guest process.
- Eric
More information about the libvir-list
mailing list