Well, in some sense udev _is_ the user, because it has to wait for the events which create the /dev/mapper/vg-lv and /dev/lg/lv nodes. This resembles the same problem wich causes udevcomplete_all in my comment #11 not to work reliably. The hang is gone, but there is still the problem of some /dev/mapper nodes missing (see comment #12).
On the other hand, with the current behavior of udev waiting is pointless, because udevd immediately aborts event processing, and afterwards waits for vgchange to complete.
Well, in some sense udev _is_ the user, because it has to wait for the events which create the /dev/mapper/vg-lv and /dev/lg/lv nodes. This resembles the same problem wich causes udevcomplete_all in my comment #11 not to work reliably. The hang is gone, but there is still the problem of some /dev/mapper nodes missing (see comment #12).
On the other hand, with the current behavior of udev waiting is pointless, because udevd immediately aborts event processing, and afterwards waits for vgchange to complete.