[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: CD/DVD ROM eject: решение (или грабли?) вместо ivman



On 2006.02.28 at 01:23:21 +0300, Mikhail Ramendik wrote:

> Однако мне кажется, что (случайно, в архивах той же рассылки HAL) я нашёл 
> решение для cd, которое кажется наиболее удобным. А именно - 
> в /etc/sysctl.conf поставить dev.cdrom.lock = 0 . После чего монтировать 
> CD/DVD ROM обычным autofs. Никакого таймаута ждать не придётся, как и искать, 
> где тот затерявшийся shell, что не пускает размонтировать :) Eject работает в 
> любой момент, и всё тут. Именно это нравилось мне в варианте с supermount. 
> 
> Конечно, это подходит только для read only... который и есть :)
> 
> Однако один момент вызывает сомнения. Почему этот способ нигде не описан? 
> CD/DVD-ROM существуют давно, /etc/sysctl.conf тоже не вчера появился, да и 
> вопрос "как обойтись без размонтирования или ожидания CD/DVD-ROM" задаётся 
> регулярно. Предлагают supermount, gnome-volume-manager, ivman, autofs с 
> маленьким таймаутом - а такой вроде бы простой и универсальный способ, как 
> dev.cdrom.lock=0, никто не задокументировал (или просто гугль не находит).

Потому что у каждой проблемы есть простое, но неправильное решение. 
Это из той же серии. Никто не гарантировал того, что ядро поведет себя
правильно, если из-под него выдернуть смонтированный носитель. Т.е. что
autofs сумеет корректно размонтировать файловую систему, что забытый
процесс с открытым файлом на этой файловой системе не начнет в безбожных
количествах пожирать процессор и/или память.

Кроме того, тебе заведомо не удастся смонтировать следующий диск, пока
не размонтировался предыдущий. А если процесс, пытающийся обратиться к
выдернутому, но не размонтированному диску, впал в uninterruptable sleep, ты вообще не сможешь это дело размонтировать до перезагрузки.

В общем, этот способ чреват разнообразными граблями, и скорее всего
разработчики ядра на сообщения об этих граблях будут реагировать словами
"А вы так не делайте".



Reply to: