As a result of the review of a related issue for
virDomainAddIOThread
it was noted that it's only our implementation for qemu that doesn't
want an iothread_id == 0, see:
http://www.redhat.com/archives/libvir-list/2015-August/msg00310.html
Continued IRC chats with the submittor of that patch discovered some
inconsistencies which are dealt with in this patch series...
Patch 1 - Remove the iothread_id arg check in virDomainPinIOThread.
Since 0 was allowed by the API anyway and left up to the
hypervisor. The argument is unsigned - so in reality all
that was being checked was 0 - other similar callers work
on 'int' values not 'unsigned int'.
Patch 2 - Adjust the description in virDomainAddIOThread to remove
the "positive non-zero value" and then rework the text to
be clearer that it's up to the hypervisor to decide what
values are legal and how to handle possible duplication.
Patch 3 - Add check in qemu_driver Add/Del IOThread API for the
invalid 0 value for iothread_id
NOTE: It's not necessary to add a specific illegal argument check
for iothread_id = 0 in qemuDomainPinIOThread since both the
live and config paths will first search for the iothread_id
value and fail if not found in the iothreadid list. I'm not
opposed to adding a specific error message if so desired...
John Ferlan (3):
api: Remove check on iothread_id arg in virDomainPinIOThread
api: Adjust comment for virDomainAddIOThread
qemu: Add check for invalid iothread_id in qemuDomainChgIOThread
src/libvirt-domain.c | 7 +++----
src/qemu/qemu_driver.c | 6 ++++++
2 files changed, 9 insertions(+), 4 deletions(-)