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

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: