On 01/30/2011 09:45 PM, Thomas Bächler wrote:
Am 27.01.2011 14:30, schrieb Thomas Bächler:
Am 27.01.2011 11:35, schrieb Jan Spakula:
This is weird. I think lvm2 is supposed to wait for udev to finish creating all links before returning. Inserting a 'sleep 1' or '/sbin/udevadm settle' in rc.sysinit after the vgchange call should fix this, but it shouldn't be necessary. Inserting 'sleep 1' after 'activate_vgs' (new initscripts) does indeed save the day. I don't know how to figure out why in my case lvm2 doesn't wait for udev... Any suggestions for further testing welcome. I thought so. (I guess this issue stays the same in the new initscripts.)
I suppose this must be a bug in the device-mapper - the udev integration is supposed to wait for symlink creation before returning. Could you try with the device-mapper and lvm2 packages from here? This should fix your problem. Thanks. https://dev.archlinux.org/~thomas/lvm_fix/
For some reason, I'm not getting this behavior anymore with lvm2/device-mapper 2.02.82-1. I inserted the 'udevadm settle' line into rc.sysinit on the 26th as you suggested (which fixed the issue). On the 27th, rc.sysinit was overwritten by new initscripts without me noticing. The bug hasn't resurfaced since then though - maybe some other update fixed it? I know this isn't very helpful :/ I'll post here in case it appears again.