hostdev: Detect untracked inactive devices
hostdev: Detect untracked inactive devices

Unmanaged devices are attached to guests in two steps: first,
the device is detached from the host and marked as inactive;
subsequently, it is marked as active and attached to the guest.

If the daemon is restarted between these two operations, we lose
track of the inactive device.

Steps 5 and 6 of virHostdevPreparePCIDevices() already subtly
take care of this situation, but some planned changes will make
it so that's no longer the case. Plus, explicit is always better
than implicit.

libvirt/libvirt,zippy2/libvirt,crobinso/libvirt,olafhering/libvirt,datto/libvirt,olafhering/libvirt,olafhering/libvirt,nertpinx/libvirt,libvirt/libvirt,jardasgit/libvirt,datto/libvirt,nertpinx/libvirt,crobinso/libvirt,crobinso/libvirt,jfehlig/libvirt,zippy2/libvirt,eskultety/libvirt,fabianfreyer/libvirt,jfehlig/libvirt,andreabolognani/libvirt,eskultety/libvirt,libvirt/libvirt,taget/libvirt,crobinso/libvirt,olafhering/libvirt,andreabolognani/libvirt,VenkatDatta/libvirt,datto/libvirt,nertpinx/libvirt,fabianfreyer/libvirt,libvirt/libvirt,andreabolognani/libvirt,jardasgit/libvirt,VenkatDatta/libvirt,jfehlig/libvirt,taget/libvirt,VenkatDatta/libvirt,jfehlig/libvirt,andreabolognani/libvirt,VenkatDatta/libvirt,nertpinx/libvirt,nertpinx/libvirt,eskultety/libvirt,jardasgit/libvirt,taget/libvirt,taget/libvirt,andreabolognani/libvirt,VenkatDatta/libvirt,taget/libvirt,fabianfreyer/libvirt,zippy2/libvirt,fabianfreyer/libvirt,datto/libvirt,eskultety/libvirt,datto/libvirt,jardasgit/libvirt,eskultety/libvirt,fabianfreyer/libvirt,zippy2/libvirt,jardasgit/libvirt