>> >> Дык эта. Там СНАЧАЛА идет его освобождение, потом выброс. Если
>> >> освободить устройство не удалось, выброса не происходит.
>> >> Попробуй открыть файл на cd из консоли и потом его вынуть.
>> > 
>> > Это ты говорить о причинах, которые мешают отсоединить том программно.
>> > А вот если устройства уже нет, а в системе оно есть, значит, либо
>> > система не узнала о его извлечении (нет поддержки контроллера и дров),
>> > либо она вообще не умеет отлавливать такие события.
>> 
>> Либо узнала, но специально не стала его удалять.
>> Попробуй вытащить примонтированную флэшку (с отключённым user space level
>> отмонтированием). Тогда устройство останется, до тех пор пока оно будет
>> использоваться хоть чем-то в ядре (в данном случае vfs).
> 
> Как отключить user space level отмонтирование? Вставил флёшку, открыл с
> неё фото, вынул, устройство пропало.

Не катит.
То, что у вас открыта картинка в окошке, не означает, что открыт файл в
системе. Скорее всего, программа считала файл и закрыла его. После чего
pmount или hal или что там вы используете благополучно отмонтировал флэшку,
поймав событие device remove. И только после этого устройство исчезло из
системы.

Попробуйте открыть терминал, перейти в каталог на флэшке и запустить что-то
вроде
( while true; do sleep 10; echo X; done ) > file
чтобы файл на уровне файловой системы оставался открытым.
Тогда ваш user space helper не сможет отмонтировать файловую систему, и
устройство останется.

>> > Кстати, это очень интересный вопрос. Может ли ядро отлавливать
>> > извлечение устройства и что для этого надо?
>> 
>> Может, когда железо и драйвер это поддерживают. Может также обнаруживать
>> исчезновение устройства по косвенным признакам, если драйвер это
>> поддерживает. Вся необходимая инфраструктура есть.
> 
> Объясни тогда, зачем держать устройство если его вынули и воткнул ли
> обратно не известно?

Для целостности структуры данных.
Нельзя удалять объект, на который остаются ссылки.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить