Re: [arch-general] [signoff] lvm2/device-mapper 2.02.82-1
Am 26.01.2011 11:38, schrieb Eric Bélanger:
On Wed, Jan 26, 2011 at 3:33 AM, Jan Spakula <bender02@archlinux.us> wrote:
Excerpts from Eric Bélanger's message of Mi Jan 26 05:16:44 +0100 2011:
lvm2/device-mapper 2.02.82-1 are in testing for minor upstream update. Please test and signoff. Users signoffs are welcome.
Hi, I have problems with both 2.02.81 and 2.02.82: I have encrypted root (normal partition) + some extra encrypted partitions on lvm via crypttab. The ones in crypttab don't unlock, the error message is something along the lines of "... /dev/vg/swap doesn't exist or access denied" (it gets overwritten immediately, so I don't see the beginning of the message). This is right after lvm2 hook is run. Then a bit later in the emergency shell, the /dev/vg/* links are already there; so perhaps there's some extra delay until the symlinks are created in /dev/ with the newer lvm2?
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.
Downgrading to lvm2-2.02.79-1 "fixes" the problem. I took a quick look at the lvm2 changelog, but I didn't notice anything unusual... but admittedly I don't understand things too well.
Is it related to https://bugs.archlinux.org/task/22351 ? I don't know much about encryption. Better add your experience in the links above if related or open a new bug report.
I don't think there is a relation.
On 01/26/2011 04:29 PM, Thomas Bächler wrote:
On Wed, Jan 26, 2011 at 3:33 AM, Jan Spakula<bender02@archlinux.us> wrote:
lvm2/device-mapper 2.02.82-1 are in testing for minor upstream update. Please test and signoff. Users signoffs are welcome. Hi, I have problems with both 2.02.81 and 2.02.82: I have encrypted root (normal partition) + some extra encrypted partitions on lvm via crypttab. The ones in crypttab don't unlock, the error message is something along the lines of "... /dev/vg/swap doesn't exist or access denied" (it gets overwritten immediately, so I don't see the beginning of the message). This is right after lvm2 hook is run. Then a bit later in the emergency shell, the /dev/vg/* links are already
Excerpts from Eric Bélanger's message of Mi Jan 26 05:16:44 +0100 2011: there; so perhaps there's some extra delay until the symlinks are created in /dev/ with the newer lvm2? 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
Am 26.01.2011 11:38, schrieb Eric Bélanger: this, but it shouldn't be necessary.
I'm getting exactly the same behavior, it started ~ a week ago. Sorry I haven't followed up, been busy with university.
Excerpts from Thomas Bächler's message of Mi Jan 26 16:29:43 +0100 2011:
Am 26.01.2011 11:38, schrieb Eric Bélanger:
On Wed, Jan 26, 2011 at 3:33 AM, Jan Spakula <bender02@archlinux.us> wrote:
Excerpts from Eric Bélanger's message of Mi Jan 26 05:16:44 +0100 2011:
lvm2/device-mapper 2.02.82-1 are in testing for minor upstream update. Please test and signoff. Users signoffs are welcome.
Hi, I have problems with both 2.02.81 and 2.02.82: I have encrypted root (normal partition) + some extra encrypted partitions on lvm via crypttab. The ones in crypttab don't unlock, the error message is something along the lines of "... /dev/vg/swap doesn't exist or access denied" (it gets overwritten immediately, so I don't see the beginning of the message). This is right after lvm2 hook is run. Then a bit later in the emergency shell, the /dev/vg/* links are already there; so perhaps there's some extra delay until the symlinks are created in /dev/ with the newer lvm2?
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.
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.
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.
Jakob, Jan, answer me this: 1) Do you have udisks installed? 2) Does the problem persist if you uninstall udisks (-Rd please, for the sake of testing)? 3) Does the problem persist if you have udisks installed and comment line 57 in /lib/udev/rules.d/80-udisks.rules: #KERNEL=="dm-*", IMPORT{program}="udisks-dm-export %M %m"
Am 30.01.2011 20:07, schrieb Thomas Bächler:
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.
Jakob, Jan, answer me this: 1) Do you have udisks installed? 2) Does the problem persist if you uninstall udisks (-Rd please, for the sake of testing)? 3) Does the problem persist if you have udisks installed and comment line 57 in /lib/udev/rules.d/80-udisks.rules: #KERNEL=="dm-*", IMPORT{program}="udisks-dm-export %M %m"
Disregard that, it might not be the problem at all.
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/
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.
Am 31.01.2011 09:15, schrieb Jakob Gruber:
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.
I could still reproduce the problem in a VM with the latest packages. This is the problem: Recent lvm does not synchronize to udev when it doesn't lock (which can happen with --ignorelockingfailure or --sysinit - they consider this a bug now). Depending on the number of udev rules, lvm might exit before all symlinks have been generated. I could reproduce this 3 out of 4 times with udisks installed, and a lot less often when it was not installed. It is mere coincidence that you can't reproduce it anymore.
Excerpts from Thomas Bächler's message of So Jan 30 21:45:28 +0100 2011:
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/
I booted a couple of times with your packages and the problem didn't show up yet (without 'sleep 1' of course). Btw I do have udisks installed. Thanks!
participants (3)
-
Jakob Gruber
-
Jan Spakula
-
Thomas Bächler