So I finally figured out the cause of the random test failures I've been seeing. It seems udev has a race condition. While the test suite is busy adding and removing partitions, udev can get behind a bit and while processing the removal event of the partition, it can decide to unlink the dev node of the by now recreated partition, so the partition device vanishes out from under the test script momentarily, until udev processes the re-add event and puts it back.

Hopefully this will be solved whenever udev finally drops support for systems without devtmpfs and gets rid of all calls to mknod and unlink for the dev node.

In the mean time, I wonder if we could add a udevadm settle between each test and if that would help? Hrm... guess I'll go try it.

Reply via email to