On 10/21/2010 12:43 PM, Ryan Harper wrote:
Thinking on this again; if we don't have a confirmation that the guest
has removed the pci device (independent of whether we've revoked access
to the underlying block device); then I really think we should fail the
device removal; at the very least we cannot update libvirt state to
indicate that the slot is free for re-assignment.
For the time being, I think we have to take the approach Dan suggested,
and then revisit the entire API. The impact here is actually minimal
because the chances of unplug failing when plug has succeeded is very low.
If it can fail, it changes the nature of the API in a fundamental way
that probably requires a deep thought about what the API should look
like in the future.
Regards,
Anthony Liguori