
On Tue, May 05, 2015 at 02:03:17PM -0400, Laine Stump wrote:
libvirt enforces bus (channel to qemu) == 0 for those qemu binaries that don't support the channel argument to scsi disk devices, but still adds "channel=0" in those cases. Apparently nobody with a qemu old enough to not support channel ever uses these devices, because they otherwise should get an error.
This patch only adds channel when the scsi-disk.channel capability is set for the qemu binary. Most of the change in the patch is updating patches to either 1) remove channel=0 from the .args file of the test, or 2) reposition channel=0 to precede the bus arg (because this makes the code cleaner/simpler) and change the DO_TEST() invocation for the test to add QEMU_CAPS_SCSI_DISK_CHANNEL.
I'm uncommitted about whether or not it is worthwhile to push this patch. On one hand, I'm fairly certain this is what is correct; on the other hand nobody has ever complained about it, and at this point almost everyone is using new enough qemu that it supports channel. ---
Can we introduce a new rule that allows us to delete functionality that was broken for three years and nobody complained? :) Similarly, the last patch adding an error message when QEMU_CAPS_DEVICE is missing is practically dead code - I doubt someone is running qemu that old with the latest libvirt. Jan