On 12/03/2015 08:20 AM, Boris Fiuczynski wrote:
On 12/03/2015 02:05 PM, Boris Fiuczynski wrote:
> conf: Revert some code to resolve issues for hostdev hotplug
>
> This patch reverts parts of commits 0d8b24f6b and 0785966d dealing with
> the addition of a controller during virDomainHostdevAssignAddress. This
> caused a regression for the hostdev hotplug path which assumes the
> qemuDomainFindOrCreateSCSIDiskController will add the new controller
> during qemuDomainAttachHostSCSIDevice to both the running domain and
> the domain def controller list when the controller doesn't yet exist
> (whether due to no SCSI controllers existing or the addition of a new
> controller because existing ones are full).
>
> Since commit id 0d8b24f6 will call virDomainHostdevAssignAddress during
> virDomainDeviceDefPostParseInternal which is called either during domain
> definition post processing (via an iterator during virDomainDefPostParse)
> or directly from virDomainDeviceDefParse during hotplug, the change
> broke the "side effect" of being able to add both a hostdev and
> controller
> to the running domain.
>
> The regression would only be seen if the running domain didn't have a
> SCSI controller alrady defined or if the existing SCSI controller was
typo already
> "full" of devices and a new controller needed to be created.
>
> This patch will also add some extra comments to the code to avoid a
> similar future change.
I have pushed this pair of changes as one patch.
I'm hesitant to push the third patch because I'm not sure what it might
break. I'll address it in a response to that patch though...
John