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

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: