[PATCH 2/6] nodedev: Wait for device initialization in nodeDeviceCreate()

Erik Skultety eskultet at redhat.com
Tue Apr 13 14:14:06 UTC 2021


On Tue, Apr 13, 2021 at 12:01:53PM +0200, Michal Privoznik wrote:
> Although I have not experienced this in real life, there is a
> possible race condition when creating new device. If the nodedev
> driver is still enumerating devices (in a separate thread) and
> virNodeDeviceCreate() is called then it can lead to spurious
> results because the device enumeration thread is removing devices
> from or adding them to the internal list of devices (among with
> their states).
> 
> Therefore, wait for things to settle down before proceeding with
> nodeDeviceCreate().

Hmm, correct. Looking at the source - nodeDeviceGetXMLDesc,
nodeDeviceGetParent and nodeDeviceNumOfCaps are the only exceptions as far as
public API mappings go. Would you mind extending this patch?

Erik




More information about the libvir-list mailing list