Bug 22939 - /dev/mapper symlink plays doesn't always work
Summary: /dev/mapper symlink plays doesn't always work
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: dmsetup (show other bugs)
Version: unstable
Hardware: all Linux
: P3 major
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-11 09:27 MSK by ildar
Modified: 2010-03-15 12:33 MSK (History)
6 users (show)

See Also:


Attachments
вывод udevadm monitor --property (7.48 KB, text/plain)
2010-02-13 13:27 MSK, ildar
no flags Details
lvm2.2.02.54-alt-udev-22939.patch (807 bytes, patch)
2010-02-23 21:07 MSK, Valery Inozemtsev
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description ildar 2010-02-11 09:27:11 MSK
Не работает с новым ядром. Работало с 2.6.30. Теперь:
$ uname -r
2.6.32-std-def-alt1
# cryptsetup luksOpen /dev/loop0 testluks
Enter LUKS passphrase for /dev/loop0: 
key slot 0 unlocked.
Command successful.
$ ls /dev/mapper/*test*
ls: cannot access /dev/mapper/*test*: No such file or directory

Всё прекрасно отрабатывает, кроме создания симлинки в /dev/mapper. То есть создаётся нода /dev/dm-?, а симлинки нет. Возможно, поможет новая версия cryptsetup?

Есть ещё идея, что это чудит udev. (?)
Comment 1 Valery Inozemtsev 2010-02-11 11:26:22 MSK
x86-64?
Comment 2 ildar 2010-02-11 12:52:56 MSK
(В ответ на комментарий №1)
> x86-64?

нет, i586.
Comment 3 ildar 2010-02-13 10:50:10 MSK
cryptsetup не виноват.
Сегодня "поймал за руку" udev: увидел в /dev/mapper симлинку на долю секунды. Потом симлинка пропала.
Как я это вижу:
1. cryptsetup создаёт ноду block dev. в /dev/mapper (это видно из strace)
2. udev эту ноду перемещает и переименовывает в /dev/dm-x
3. а в /dev/mapper делает симлинку на /dev/dm-x под старым именем. Это прекрасно работает с LVM (виден результат работы этого механизма).

Однако в моём случае:
4. кто-то, кажется, сам udev, грохает эту симлинку (за что?).

Прошу исправить. Данное поведение наблюдается на 2.6.32-std-def-alt1
Comment 4 Sergey Vlasov 2010-02-13 11:15:46 MSK
Запустите udevadm monitor --property и покажите, что выдаётся при выполнении cryptsetup. Можно для сравнения ещё сделать то же самое на 2.6.30.
Comment 5 ildar 2010-02-13 13:27:48 MSK
Created attachment 4254 [details]
вывод udevadm monitor --property
Comment 6 Valery Inozemtsev 2010-02-15 20:43:25 MSK
это dmsetup с его правилами
Comment 7 Valery Inozemtsev 2010-02-23 21:07:40 MSK
Created attachment 4274 [details]
lvm2.2.02.54-alt-udev-22939.patch

вот патч, который востанавливает работу cryptsetup, но надо бы еще попробовать cryptsetup-1.1.0
Comment 8 Valery Inozemtsev 2010-02-23 21:37:12 MSK
с cryptsetup-1.1.0 устройства в /dev/mapper так и нет (при создании нового раздела форматировать будет нечего), но в гноме оно как то монтируестя
Comment 9 Valery Inozemtsev 2010-02-23 22:26:25 MSK
хех... это не dmsetup
Comment 10 Valery Inozemtsev 2010-02-23 22:30:34 MSK
исправлено в DeviceKit-disks 009-alt3
в /dev/mapper девайсов не создается, форматировать после подколючения нужно /dev/dm-[0-9]*
Comment 11 Valery Inozemtsev 2010-02-27 00:06:46 MSK
хотя нифига оно не fixed. в gnome оно конечно монтируется, но dmsetup девайсы в /dev/mapper/ сносить
Comment 12 Repository Robot 2010-03-02 22:33:28 MSK
lvm2-2.02.61-alt1 -> sisyphus:

* Tue Mar 02 2010 Konstantin Pavlov <thresh@altlinux> 2.02.61-alt1

- 2.02.61 (closes: #22939).
- Remove translated descriptions (closes: #22131).
Comment 13 Valery Inozemtsev 2010-03-07 22:47:33 MSK
dmsetup-1.02.44-alt2 опять сломал cryptsetup
Comment 14 Kirill A. Shutemov 2010-03-08 00:01:34 MSK
Ok. Значит виноват мой lvm2-2.02.54-alt-udev-rules.patch. Нужно его убить. Только это ломает coldplug и, как следствие, невозможно загрузиться с lvm-root'а. Что бы этого не происходило, нужно сделать так, чтобы момент coldplug'а была определена переменная окружения STARTUP=1. Наверно, это нужно сделать в startup. Дима?
Comment 15 Dmitry V. Levin 2010-03-08 00:45:31 MSK
(In reply to comment #14)
> Ok. Значит виноват мой lvm2-2.02.54-alt-udev-rules.patch. Нужно его убить.
> Только это ломает coldplug и, как следствие, невозможно загрузиться с
> lvm-root'а. Что бы этого не происходило, нужно сделать так, чтобы момент
> coldplug'а была определена переменная окружения STARTUP=1. Наверно, это нужно
> сделать в startup. Дима?

Ну так в чём вопрос, сделайте так, чтобы необходимая переменная была определена тогда, когда это нужно.
Comment 16 Kirill A. Shutemov 2010-03-15 12:33:35 MSK
Исправлено в lvm2.git-2.02.61-alt3.