$ grep -A 3 -B 3 lvm /etc/rc.d/rc.sysinit if [ -e "$VGCHANGE" -a -e "$VGSCAN" -a -s /etc/lvmtab ]; then modprobe lvm-mod >/dev/null 2>&1 # for 2.4.x kernel and LVM1 binaris if [ -d /proc/lvm -a ! -c /dev/mapper/control -a ! -x /sbin/lvm ]; then "$VGSCAN" >/dev/null 2>&1 action "Setting up LVM:" "$VGCHANGE" -a y fi # for 2.6.x kernel and LVM2 binaris if [ ! -d /proc/lvm -a -c /dev/mapper/control -a -x /sbin/lvm ]; then "$VGSCAN" >/dev/null 2>&1 action "Setting up LVM2:" "$VGCHANGE" -a y fi на 2.4 lvm не поднимется, потому что: $rpm -qf /sbin/lvm lvm2-2.01.09-alt2 совместимость с ядрами 2.4 обеспечивает lvmcompat, поэтому правильно будет вместо -a ! -x /sbin/lvm сделать -a -x $VGCHANGE.lvm1 выбор нужного бинарника делает сам lvm2.
Ну а поддержку lvm1 предлагается выкинуть?
(In reply to comment #1) > Ну а поддержку lvm1 предлагается выкинуть? lvm1 как таковой - давно в orphaned, я его лично оттуда вытаскивал и пересобрал уже как плагин к lvm2. связка lvm2+lvmcompat протестирована и работает на обоих ветках ядер с форматом lvm1 и lvm2.
> lvm1 как таковой - давно в orphaned это отражено и в зависимостях - если его не ставить на холд, он автоматически заменится связкой lvm2+compat.
В чистой системе lvm2 (2.6) НЕ мигрировавшей с lvm1 _нет_ /etc/lvmtab (а есть /etc/lvm/*), поэтому lvm не поднимется
Сделает кто-нибудь нормальный патч или нет?
Created attachment 1279 [details] фикс для lvm2/lvmcompat например так. потребуется startup conflict: lvm1 (btw, может быть определять ветку ядра лучше по более прямым признакам?)
Я меньше всего хочу делать изменения, которые будет тяжело backport'ить.
http://www.rocklinux.net/pipermail/rock-user/2004-May/000078.html The vgchange in /etc/rc.d/init.d/system is inside an 'if [ -s /etc/lvmtab ]' block; /etc/lvmtab, /etc/lvmtab.d and /etc/lvmconf are no longer used with LVM2 and should be removed. In this case the vgchange with LVM syntax will not be run. да, мне нетрудно echo > /etc/lvmtab - но перед этим же полчаса потратил пытаясь понятв чем дело :(. можно по крайней мере заменить if [ -e "$VGCHANGE" -a -e "$VGSCAN" -a -s /etc/lvmtab ]; then на if [ -e "$VGCHANGE" -a -e "$VGSCAN" ] && [ -s /etc/lvmtab -o /etc/lvm/lvm.conf ]; then ?
Прогресс то будет?.. А то я очень удивился когда после перезагрузки у меня машина LVM не подняля!.. :(
Слушайте, в rc.sysinit есть маленький кусок кода: # Activate LVM VGSCAN=/sbin/vgscan VGCHANGE=/sbin/vgchange if [ -e "$VGCHANGE" -a -e "$VGSCAN" -a -s /etc/lvmtab ]; then modprobe lvm-mod >/dev/null 2>&1 # for 2.4.x kernel and LVM1 binaris if [ -d /proc/lvm -a ! -c /dev/mapper/control -a ! -x /sbin/lvm ]; then "$VGSCAN" >/dev/null 2>&1 action "Setting up LVM:" "$VGCHANGE" -a y fi # for 2.6.x kernel and LVM2 binaris if [ ! -d /proc/lvm -a -c /dev/mapper/control -a -x /sbin/lvm ]; then "$VGSCAN" >/dev/null 2>&1 action "Setting up LVM2:" "$VGCHANGE" -a y fi fi Вы можете его скорректировать таким образом, чтобы он работал корректно с lvm2 и lvm1, и при этом не выглядел как хак?
я предлагаю при этом учесть, что в актуальном сизифе lvm1 не существует. используется lvm2+lvmcompat.
Просьба иметь в виду, что пакет startup иногда обновляют точечно. P.S. А пакет lvmcompat на грани вылета (15 недель как не пересобирается).
У меня lvm'а нет, патчей мне нормальных не присылают, поэтому понижаю severity, а потом, если не будет реакции, закрою совсем.
Я закоммитил кое-какие изменения, см. 0.9.8.5-alt1-ga31e4bd Тестировать мне это негде, но поскольку сломать нерабочий код нельзя, будем считать что хуже не стало. Кому не безразлично, проверьте это изменение до того как он будет упаковано.
works for me, lvm2
Fixed in 0.9.8.5-alt1-ga31e4bd