Bug 7399 - incorrect detection of lvm2
: incorrect detection of lvm2
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/startup)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
: 7079
  Show dependency tree
 
Reported: 2005-07-19 16:34 by
Modified: 2006-12-03 01:38 (History)


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

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

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