Bug 22968

Summary: lvm: udev synchronisation does not work
Product: Sisyphus Reporter: Dmitry V. Levin <ldv>
Component: lvm2Assignee: Alexey Shabalin <shaba>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P3 CC: ildar, rider, shaba, vitty, vsu
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
vgchange.log none

Description Dmitry V. Levin 2010-02-16 01:05:06 MSK
В Сизифе lvm собран с поддержкой udev synchronisation.
Однако это, к сожалению, не всегда работает.

В системе, которую я наблюдал, было установлено:
kernel-image-un-def-2.6.32-alt8
udev-150-alt1
lvm2-2.02.54-alt2
Система была точечно обновлена из p5.

Наблюдалось следующее:
при загрузке ОС запускается /etc/rc.d/scripts/lvm_start,
который при наличии в системе lvm запускает vgchange -a y,
который при наличии logical volumes зависает на первом же volume
в бесконечном ожидании udev'а в dm_udev_wait().

Я допускаю, что всё дело в точечности обновления, т.е. в кривизне зависимостей.
Если удастся пронаблюдать поведение lvm в "чистом" Сизифе, я напишу.
Comment 1 Dmitry V. Levin 2010-02-16 01:15:57 MSK
Другие возможные варианты: для нормальной поддержки udev-150 и ядра 2.6.32 требуется udev rules из более свежих версий lvm2.
Comment 2 Vitaly Kuznetsov 2010-02-16 10:57:48 MSK
Наблюдаю данное поведение на полностью дистапгрейднутой машинке, т.е. зависимости - ни при чём.
Comment 3 Sir Raorn 2010-02-16 11:16:36 MSK
Наблюдал похожее на сизифе трех- и двухнедельной давности, но только на x86_64.  Работает на 2.6.30-std-def-alt14, на всех остальных виснет.  Ноут на i586 прекрасно работает с 2.6.32-un-def-alt7.
Comment 4 Dmitry V. Levin 2010-02-16 18:12:26 MSK
(In reply to comment #3)
> Наблюдал похожее на сизифе трех- и двухнедельной давности, но только на x86_64.
>  Работает на 2.6.30-std-def-alt14, на всех остальных виснет.

В 2.6.30 слишком старый dm для этой фичи, dm_cookie_supported() на нём возвращает false.

> Ноут на i586 прекрасно работает с 2.6.32-un-def-alt7.

Просьба проверить, действительно ли в нём происходит udev synchronisation, или оно по той или иной причине деактивируется?  vgchange -vvv ...
Comment 5 Sir Raorn 2010-02-16 18:41:42 MSK
Created attachment 4258 [details]
vgchange.log

# dd if=/dev/zero of=/var/tmp/disk.img seek=1023 bs=1M count=1
# losetup /dev/loop0 /var/tmp/disk.img 
# pvcreate /dev/loop0
# vgcreate VGtest /dev/loop0
# lvcreate -l 100%FREE -n VGtest/LVtest
# vgchange -a n VGtest
# vgchange -vvv -a y VGtest > vgchange.log 2>&1
Comment 6 Sir Raorn 2010-02-16 18:47:41 MSK
udev-150-alt1
lvm2-2.02.54-alt2
kernel-image-un-def-2.6.32-alt7
kernel-image-un-def-2.6.32-alt1
kernel-image-std-def-2.6.30-alt14
Comment 7 Konstantin Pavlov 2010-02-16 18:48:33 MSK
я попробую собрать более новый lvm2 сегодня-завтра

есть ли необходимость в жесткой Requires на версию udev?
Comment 8 Dmitry V. Levin 2010-02-16 18:58:45 MSK
(In reply to comment #5)
> Created an attachment (id=4258) [details]
> vgchange.log

Судя по логу, Udev cookie там работает.

(In reply to comment #7)
> я попробую собрать более новый lvm2 сегодня-завтра
> 
> есть ли необходимость в жесткой Requires на версию udev?

У меня нет ответа на этот вопрос.  Нужен комментарий специалиста
по совместимости udev rules.
Comment 9 Repository Robot 2010-02-16 20:35:50 MSK
lvm2-2.02.54-alt3 -> sisyphus:

* Tue Feb 16 2010 Dmitry V. Levin <ldv@altlinux> 2.02.54-alt3

- dmsetup: Placed udev rules to valid location (closes: #22968).