Re: CD/DVD ROM eject: решение (или грабли?) вместо ivman
В сообщении от 28 февраля 2006 15:03 Victor Wagner написал(a):
> > > В общем, этот способ чреват разнообразными граблями, и скорее всего
> > > разработчики ядра на сообщения об этих граблях будут реагировать
> > > словами "А вы так не делайте".
> >
> > Выяснилось, однако, что разработчик ivmfn сейчас реализует тот же самый
> > способ. Ну, почти тот же самый. Вот цитата из его письма, просьба
> > сказать, будут ли здесь те же грабли.
>
> Здесь по крайней мере вызывается umount, пусть на уже вытащенный диск.
Однако если хоть один процесс его держит, umount, если я правильно понимаю,
просто не сработает :( А если не держит - так через таймаут (скажем, 3
секунды) autofs тоже сделает размонтирование.
> А по хорошему, по событию eject надо запускать fuser -m и прибивать все
> процессы, использующие данную fs
А вот этого я бы точно не делал. Зачем убивать файломенеджеры и шеллы, которые
в этот момент смотрят на диск? Они ведь и так отнюдь не падают. Ради редких
падающих/виснущих процессов убивать все?
Мне кажется, что правильно было бы сделать некую proxy file system (на fuse,
вероятно, чтобы в ядро не лезть лишний раз), которая будет работать через
обычную FS, но корректно отрабатывать её пропадание в любой момент (т.е. не
зависать, а fail'иться). Однако я такое вряд ли в состоянии написать :( А
всё остальное будет либо не давать вынуть диск, либо убивать процессы почём
зря, либо "надеяться на лучшее"... Или я неправ?
> (заодно быстро выяснится, какие
> программы не умеют её вовремя отпускать, и можно будет их поправить или
> перестать использовать),
Я бы рад сменить, скажем, shell на такой, который не держит за хвост свою
текущую директорию, а открывает её только при подаче команды... (Правда, я и
так собирался ставить fish - попросить, что ли, эту фичу у его разработчиков,
благо проект вроде бы активен?)
--
Yours, Mikhail Ramendik
Reply to: