Re: md raid1 testing issue
Nikita V. Youshchenko -> debian-russian@lists.debian.org @ Fri, 04 Apr 2008 20:12:36 +0400:
>>> >> Дык эта. Там СНАЧАЛА идет его освобождение, потом выброс. Если
>>> >> освободить устройство не удалось, выброса не происходит.
>>> >> Попробуй открыть файл на cd из консоли и потом его вынуть.
>>> >
>>> > Это ты говорить о причинах, которые мешают отсоединить том программно.
>>> > А вот если устройства уже нет, а в системе оно есть, значит, либо
>>> > система не узнала о его извлечении (нет поддержки контроллера и дров),
>>> > либо она вообще не умеет отлавливать такие события.
>>>
>>> Либо узнала, но специально не стала его удалять.
>>> Попробуй вытащить примонтированную флэшку (с отключённым user space level
>>> отмонтированием). Тогда устройство останется, до тех пор пока оно будет
>>> использоваться хоть чем-то в ядре (в данном случае vfs).
>>
>> Как отключить user space level отмонтирование? Вставил флёшку, открыл с
>> неё фото, вынул, устройство пропало.
NVY> Не катит.
NVY> То, что у вас открыта картинка в окошке, не означает, что открыт файл в
NVY> системе. Скорее всего, программа считала файл и закрыла его. После чего
NVY> pmount или hal или что там вы используете благополучно отмонтировал флэшку,
NVY> поймав событие device remove. И только после этого устройство исчезло из
NVY> системы.
NVY> Попробуйте открыть терминал, перейти в каталог на флэшке и запустить что-то
NVY> вроде
NVY> ( while true; do sleep 10; echo X; done ) > file
NVY> чтобы файл на уровне файловой системы оставался открытым.
NVY> Тогда ваш user space helper не сможет отмонтировать файловую систему, и
NVY> устройство останется.
>>> > Кстати, это очень интересный вопрос. Может ли ядро отлавливать
>>> > извлечение устройства и что для этого надо?
>>>
>>> Может, когда железо и драйвер это поддерживают. Может также обнаруживать
>>> исчезновение устройства по косвенным признакам, если драйвер это
>>> поддерживает. Вся необходимая инфраструктура есть.
>>
>> Объясни тогда, зачем держать устройство если его вынули и воткнул ли
>> обратно не известно?
NVY> Для целостности структуры данных.
NVY> Нельзя удалять объект, на который остаются ссылки.
По поводу "нельзя" - man umount на предмет ключа -f.
Видишь ли, "объект, на который остаются ссылки" в конечном итоге уже
удален - устройство-то из системы выдернуто. Что мешает при написании
даже не драйвера, а подсистемы учесть эту возможность - совершенно
непонятно.
Да и кроме того, должен заметить, что, скажем, Nokia N800 вполне
отлавливает выдергивание задействованной карточки (вернее, уже
открывание ее крышечки) и начинает вопить "эй, мужик, верни мне
карточку, а то мало ли чего я не успела туда записать!" И таки да, если
вернуть, допишет. Ей, правда, проще. У нее, в общем, хорошо определено
то место, куда надо вывести вопл.
Правда, порой она ее держит не по делу, но это уже к гному
сакраментальный вопрос...
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
Save the environment. Create a closure today.
-- Cormac Flanagan
Reply to: