On 05/11/2015 04:26 AM, Ján Tomko wrote:
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.
If you're referring to patch 13 of this series, it actually *removes* an
error condition when -device *is* supported. We had been limiting scsi
devices to only bus='0' due to a limitation that only applied when not
using -device. So that patch adds extra functionality to hosts with
newer qemu.