I think this happens because the lvm2 commands are called from inside udev, while lvm itself also waits for udev to complete. This creates an obvious deadlock.
/lib/udev/rules.d/85-lvm2.rules should be changed to read:
SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="lvm*|LVM*", \
RUN+="watershed sh -c '/sbin/lvm vgscan --noudevsync; /sbin/lvm vgchange --noudevsync -a y'"
I think this happens because the lvm2 commands are called from inside udev, while lvm itself also waits for udev to complete. This creates an obvious deadlock.
/lib/udev/ rules.d/ 85-lvm2. rules should be changed to read:
SUBSYSTEM=="block", ACTION= ="add|change" , ENV{ID_ FS_TYPE} =="lvm* |LVM*", \
RUN+="watershed sh -c '/sbin/lvm vgscan --noudevsync; /sbin/lvm vgchange --noudevsync -a y'"
cheers