Bug 7399 - incorrect detection of lvm2
Summary: incorrect detection of lvm2
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: startup (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 7079
  Show dependency tree
 
Reported: 2005-07-19 16:34 MSD by Nick S. Grechukh
Modified: 2006-12-03 01:38 MSK (History)
8 users (show)

See Also:


Attachments
фикс для lvm2/lvmcompat (623 bytes, patch)
2005-12-08 23:18 MSK, Nick S. Grechukh
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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