Bug 7399

Summary: incorrect detection of lvm2
Product: Sisyphus Reporter: Nick S. Grechukh <gns>
Component: startupAssignee: Alexey Gladkov <legion>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: hiddenman, ldv, legion, mike, ns, rider, sbolshakov, silicium
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 7079    
Attachments:
Description Flags
фикс для lvm2/lvmcompat none

Description Nick S. Grechukh 2005-07-19 16:34:25 MSD
$ 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.
Comment 1 Dmitry V. Levin 2005-07-23 00:06:38 MSD
Ну а поддержку lvm1 предлагается выкинуть?
Comment 2 Nick S. Grechukh 2005-07-25 14:28:14 MSD
(In reply to comment #1)  
> Ну а поддержку lvm1 предлагается выкинуть?  
  
lvm1 как таковой -  давно в orphaned, я его лично оттуда вытаскивал и пересобрал уже  
как плагин к lvm2.   
связка lvm2+lvmcompat протестирована и работает на обоих ветках ядер с форматом  
lvm1 и lvm2.   
Comment 3 Nick S. Grechukh 2005-07-25 14:30:13 MSD
> lvm1 как таковой -  давно в orphaned  
  
это отражено и в зависимостях - если его не ставить на холд, он автоматически  
заменится связкой lvm2+compat. 
Comment 4 Dimitry V. Ketov 2005-11-25 20:30:59 MSK
В чистой системе lvm2 (2.6) НЕ мигрировавшей с lvm1 _нет_ /etc/lvmtab (а есть
/etc/lvm/*), поэтому lvm не поднимется
Comment 5 Dmitry V. Levin 2005-12-08 21:45:30 MSK
Сделает кто-нибудь нормальный патч или нет?
Comment 6 Nick S. Grechukh 2005-12-08 23:18:26 MSK
Created attachment 1279 [details]
фикс для lvm2/lvmcompat

например так. потребуется startup conflict: lvm1

(btw, может быть определять ветку ядра лучше по более прямым признакам?)
Comment 7 Dmitry V. Levin 2006-01-30 17:24:36 MSK
Я меньше всего хочу делать изменения, которые будет тяжело backport'ить.
Comment 8 Nick S. Grechukh 2006-06-11 08:58:25 MSD
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
 
?
Comment 9 Ivan Fedorov 2006-06-11 11:00:59 MSD
Прогресс то будет?..
А то я очень удивился когда после перезагрузки у меня машина LVM не подняля!.. :(
Comment 10 Dmitry V. Levin 2006-07-02 02:59:42 MSD
Слушайте, в 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, и при этом не выглядел как хак?
Comment 11 Nick S. Grechukh 2006-07-03 16:49:36 MSD
я предлагаю при этом учесть, что в актуальном сизифе lvm1 не существует.
используется lvm2+lvmcompat. 
Comment 12 Dmitry V. Levin 2006-07-03 19:15:31 MSD
Просьба иметь в виду, что пакет startup иногда обновляют точечно.
P.S. А пакет lvmcompat на грани вылета (15 недель как не пересобирается).
Comment 13 Dmitry V. Levin 2006-09-17 03:59:22 MSD
У меня lvm'а нет, патчей мне нормальных не присылают, поэтому понижаю severity,
а потом, если не будет реакции, закрою совсем.
Comment 14 Dmitry V. Levin 2006-12-02 04:16:17 MSK
Я закоммитил кое-какие изменения, см. 0.9.8.5-alt1-ga31e4bd
Тестировать мне это негде, но поскольку сломать нерабочий код нельзя,
будем считать что хуже не стало.  Кому не безразлично, проверьте это изменение
до того как он будет упаковано.
Comment 15 Sergey Bolshakov 2006-12-02 16:10:33 MSK
works for me, lvm2
Comment 16 Dmitry V. Levin 2006-12-03 01:38:21 MSK
Fixed in 0.9.8.5-alt1-ga31e4bd