|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Valentin Nechayev 2:5020/400 15 Nov 2002 14:03:48 To : Alex Korchmar Subject : Re: HURD -------------------------------------------------------------------------------- >>> Alex Korchmar wrote: >>>Особенно интересно, как, в рамках идиотской идеи VFS, вы будете осуществлять >>>"выдернул драйв". IA>> В рамках идеи -- очень просто. Все обращения к открытым IA>> дескрипторам на этом драйве возвращают EIO. За исключением AK> мне больше интересно, что стало с данными, слитыми в эти дескрипторы _до_ AK> выдергивания. Гарантия записанности данных наступает только после успешного завершения fsync(). Что происходит без него в случае выдергивания диска - никто предсказать не может. Если ты хочешь какого-то рассказа о том, что там случилось - обломись. AK> И как ты теперь будешь освобождать устройство - мне бы второй диск теперь AK> засунуть, да-а? Это уже вопрос именно построения VFS и bio layer'а (второй - критичнее). Драйвер должен отрапортовать операции как failed, с указанием причины, а если ему сказали cancel - сделать cancel (чего в юниксах нету). Bio layer должен аккуратно закрыть и почистить все, что нужно закрыть и почистить. VFS - подсунуть вместо файловой системы болванку, которая отвергает все операции, и ждет какого-то завершения уже начатых. Когда все операции завершились - а это меньше секунды при правильном дизайне - можно и новый диск монтировать на то же место. Все это делается. И в рамках той же VFS. Hо надо было сделать изначально. IA>> Мне вот гораздо более интересно, как будет себя чувствовать юзер IA>> в маздае, если он непосредственно двумя щелчками по этому IA>> документу открыл первое окно ворда. А затем драйв благополучно AK> нормально. Юзер в масдае редко умеет save. Он умеет закрыть окно с AK> документами. Операция вполне для него очевидная и понятная - надо закрыть AK> окошко, чтобы изменения стали перманентными. Понятна она и для меня - я тоже AK> набираю 'ZZ' вместо :w[q]. AK> В отличие от операции "где-то что-то отмонтировать", не имеющей никакого AK> отношения к документу. AK> Опять таки -даже я могу случайно забыть это сделать, и просто выдернуть AK> usb'шный диск. И что, при выдергивании тебе автоматом запустят сохранение? ;)) Извини, можно сделать чтобы каждые полсекунды все буфера для данного устройства сбрасывались принудительно (затормозив нормальную работу), но что-то большее - нереально. /netch --- ifmail v.2.15dev5 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/7368eb46daea.html, оценка из 5, голосов 10
|