Bug 24067

Summary: "device busy" при mount, fsck в Centaurus rescue
Product: Sisyphus Reporter: vx8400 <vx8400>
Component: cross-componentAssignee: Anton V. Boyarshinov <boyarsh>
Status: CLOSED WONTFIX QA Contact: Dmitry V. Levin <ldv>
Severity: major    
Priority: P3 CC: aen, boyarsh, kharpost, legion, mike, rider, stanv, unihorn, vitty
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 23155    

Description vx8400 2010-09-13 00:20:15 MSD
Запускаем rescue system с altlinux-5.9.9-20100909-centaurus-i586-ru-install-dvd5.iso на qemu-kvm (kvm-83-164.el5_5.21.x86_64), подсовываем образ диска с ext3-разделом /dev/sda2.
fsck /dev/sda2, mount /dev/sda2/ /mnt/somewhere завершаются с "device /dev/sda2 busy". strace показывает  open("/dev/sda2","O_RDONLY|O_EXCL) == -1.
Comment 1 Alexey Gladkov 2010-09-13 01:26:34 MSD
strace не врёт. В чём вы видите ошибку ?
Comment 2 vx8400 2010-09-13 02:43:23 MSD
(В ответ на комментарий №1)
> strace не врёт. В чём вы видите ошибку ?

Устройство не должно быть "busy". Его никто не открывал до этого.
Comment 3 Alexey Gladkov 2010-09-13 02:56:23 MSD
Это вопрос к вашей системе: кто держит устройство. Невозможность mount смонтировать это устройство лишь следствие.
Comment 4 vx8400 2010-09-13 03:32:23 MSD
(In reply to comment #3)
> Это вопрос к вашей системе: кто держит устройство. Невозможность mount
> смонтировать это устройство лишь следствие.

Не видно, кто его успел открыть.  
В вирт. машине вывод `grep sda /proc/mounts', `ls -l /proc/[0-9]*/fd/[0-9]* | grep sda' пустой. В хост-машине весь образ диска открыт только qemu-kvm.

При загрузке с того же iso в режиме "установка" /dev/sda* монтируются нормально.
Comment 5 Anton Farygin 2010-09-13 08:40:40 MSD
с высокой долей вероятности ошибка в kvm
Comment 6 vx8400 2010-09-13 14:21:51 MSD
С голым qemu (qemu-0.10.5-1.el5.2.x86_64) без kvm та же ошибка.
mount("/dev/sda2"...), open("/dev/sda2"...) вылетают с EBUSY.
Comment 7 Michael Shigorin 2010-09-13 14:33:52 MSD
Кажется, в vbox тоже вылазило -- думал сам глянуть, но в таком виде rescue почти совсем бесполезен.
Comment 8 vx8400 2010-09-13 15:13:20 MSD
В qemu из p5 ошибка не воспроизводится:
qemu-0.11.50-alt5 + kernel-modules-kqemu-hpc-std-1.4.0-alt0.1.pre1.132635.2
Comment 9 unihorn 2010-10-02 18:07:42 MSD
Поддтверждаю.

Была произведена попытка установить на реальное железо...

Установка проводилась в графическом режиме.

При попытке подсунуть уже имеющийся диска (просто назначив ему метку), выдавалась ошибка, что диск или устройство занято.

Попытки были две: на бете версии 5.9.9-20100909, и на недавней (на момент написания данного поста) бете версии 5.9.9-20100922... Обе окончились вышеназванным.
Comment 10 Anton V. Boyarshinov 2010-10-05 18:58:31 MSD
(В ответ на комментарий №2)
> (В ответ на комментарий №1)
> > strace не врёт. В чём вы видите ошибку ?
> 
> Устройство не должно быть "busy". Его никто не открывал до этого.
evms?
попробуйте работать с /dev/evms/*
Comment 11 Anton Farygin 2010-10-05 19:40:42 MSD
попробуйте провести любую операцию с /dev/dm-*

Тогда, когда ругается на BUSY /dev/sd*
Comment 12 vx8400 2010-10-05 19:42:17 MSD
(В ответ на комментарий №10)
>
> попробуйте работать с /dev/evms/*

/dev/evms/sda* монтируются. Thx!
Comment 13 vx8400 2010-10-05 19:55:34 MSD
(В ответ на комментарий №11)
> попробуйте провести любую операцию с /dev/dm-*
> 
> Тогда, когда ругается на BUSY /dev/sd*

mkfs.ext2 /dev/dm-1 && mount /dev/dm-1 /mnt/somewhere работает.

mkfs.ext2 /dev/sda2 выпадало с open("/dev/sda2",...) = -1 (EBUSY)
Comment 14 Michael Shigorin 2010-10-05 20:28:34 MSD
Отсюда вопрос: а не лучше ли вынести подъём evms из rescue?  Автоматический сбор информации не стоит дополнительных разборок, когда всё и так предположительно паршиво (и нужен спасательный образ).
Comment 15 Andriy Stepanov (stanv) 2010-10-29 12:43:37 MSD
[12:40:23] <stanv> У меня в rescue не хочет монтироваться ни один диск
[12:40:39] <stanv> already mounted or busy
[12:41:02] <vsu> потому что evms надо гнать ссаными тряпками

Удалите пожалуйста evms с rescue.
Comment 16 Anton V. Boyarshinov 2010-10-30 22:44:29 MSD
Монтировать диски в rescue удобнее всего скрптом mount-system (о чём теперь выводится соответствующее сообщение в конце загрузки rescue).

Поскольку mount-system && fixmbr из rescue, насколько я могу судить используют evms, в ближайшее время evms оттуда не исчезнет.
Comment 17 Michael Shigorin 2010-10-31 00:01:54 MSD
Можно хотя бы добавить в /etc/issue или ещё куда напоминание пользоваться /dev/evms/* вместо /dev/*?