On 10/17/2011 04:44 AM, Osier Yang wrote:
After thinking a while, even we set the used_by during domains
reloading,
the other attrs (dev->unbind_from_stub, dev->reprobe, dev->remove_slot)
of the PCI dev still will be lost. We can't known what values should be
for these attrs as generally they are initialized when do preparation,
however the preparations are already passed, and the devices are using
by the running domains. And thus the device won't be bound to the
original driver (if it had) correctly, or mistakenly bound to some driver
but it didn't have one.
Perhaps we need some new XMLs introduced for hostdevs.
You're right - the only sane way to survive libvirtd restarts is to
track more information in the domain xml (it can be internal xml, and
doesn't have to be dumped to the user; compare how we track <actual> as
an internal-only detail on how networks were actually allocated).
Sounds like we've got more work to do in this area.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org