Comment 8 for bug 38409

On Tue, Dec 20, 2005 at 11:27:22AM +0100, Bastian Blank wrote:
> Why? The kernel don't wait for the completion of events and the devices
> are exported as dm-*.

Exactly - it's an asynchronous design prone to races - udev does not
offer an option for the kernel to wait for the completion. So by the
time the relatively-slow udev gets around to processing the event the
device could already have been deleted or have changed name or
anything! Device-mapper facilitates rapid changes like that by
design. The asynchronous udev design does not cope satisfactorily
with temporary devices which might only exist for a fraction of a
second - so LVM2 has to avoid it.

But enough speculation - please can someone provides a trace or source
code showing what udev is or isn't doing that might be interfering
with LVM2? For example, if udev ever opens the devices that could
race against LVM2 deleting them.

Alasdair
--
<email address hidden>