Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Ilya Anfimov                         2:5020/400     07 Dec 2001  22:44:18
 To : Aleksey Barabanov
 Subject : Re: Re[2]: ReiserFS
 -------------------------------------------------------------------------------- 
 
 On Fri, 7 Dec 2001 07:40:53 +0000 (UTC), 
 Aleksey Barabanov <aleksey.barabanov@ru.abb.com> wrote:
 
 >Stas Vlasov <Stas.Vlasov@f172.n5080.z2.fidonet.org> пишет:
 >SV> Вполне было бы достаточно, чтоб метаданные
 >SV> записывались после данных, дабы при
 >SV> сбое не было файлов, полностью записанных с точки
 >SV> зрения фс и заполненых
 >SV> мусором, если глянуть на содержимое.
 >Я думаю при таком раскладе резко упадет производительность.
 >Собственно данные на запись так и так буферизируются. Именно эта отложенная
 >синхронизация и является причиной сбоев из-за неожиданного креша. В
 >рейзере проблема преодолена за счет журналирования, но только для
 >метаданных. Т.е. креш не приводит к одновременному и зачастую фатальному
 >повреждению всей структуры fs. Hо требование обязательной синхронизации данных
 >равносильно отказу от буферизации вывода. Если же журналировать не
 >только метаданные но и сами информационные блоки, то, как это видно по
 >ext3, производительность падает. Зачем развивать фичу которая всяко по
 >дефолту будет отключена ?
 
  Блин.  Лучше  бы  ты математике все-таки учился, а не с бобинами
 бегал.  Потому что дело тут явно не в бобине.
 
  Основной плюс в математике даже не тот, что  ты  научшься  брать
 какие-нибудь поверхностные интегралы или решать дифуры. Хотя дело
 тоже полезное.  Особенно знать, что вот  такие  дифуры  решаются,
 такие решаются скорее численно, а эти вообще являются некорректно
 поставленной задачей и их решение -- мартышкин труд.
  Hо на это можно  и  какого-нибудь  специалиста-решателя  дифуров
 где-нибудь одолжить.
 
  А   плюс  в  том,  что  логически  рассуждать  учит  и  понимать
 логические рассуждения.  Простой, непосредственной тренировкой по
 три-шесть  раз  в  неделю,  пару-тройку  лет.  Очень,  знаешь ли,
 помогает.
 
  Так  вот,  в  журналируемых  fs  нет  требования   обязательной,
 синхроннной  с поступлением, записи даже метаданных. Теоретически
 Они могут лежать в кеше часами, никого не возмущая.
  Все, что требуется -- это _целостность_  метаданных.  Для  этого
 план  операций с ними пишется в некоторый достаточно линейный лог
 (журнал) до самих по себе операций. И над метаданными  проводятся
 операции  только  после  гарантированной  записи журнала на диск.
 Таким образом, любую  операцию  над  (реальными,  не  в  журнале)
 метаданными, которая уже начата, можно будет завершить даже после
 reset. Журнал же этот по своей структуре  и  благодаря  небольшим
 усилиям  разработчиков  трудно исковеркать до неузнаваемости -- в
 процессе работы  с  ним  просто  нет  состояния,  когда  было  бы
 непонятно,  что  делать дальше и что вообще происходит. И важна в
 журналировании   не   одномоментность   записи   в   журнал   или
 непосредственно  в  структуры  fs,  а запись в журнал _до_ начала
 записи в рабочие структуры с метаданными.
 
   Теперь следи за руками:  достаточно  записать  реальные  данные
 какого-то  файла  на  свое  будущее  место  на  диск  _до_ начала
 транзакции с метаданными, и файл будет содержать некоторые вполне
 реальные  данные  независимо  от  того,  что  произойдет при этой
 транзакции  --  закончится  она,  не  начнется,  закончится   при
 восстановлении после resetа.
  При  некоторых  усилиях  со  стороны  разработчиков файл в любом
 случае будет в каком-то состоянии, в котором он был  в  некоторый
 момент  работы  приложения.  Hа  что  прилично написанные системы
 должны   рассчитывать    --    действительно,    мало    ли.    И
 восстанавливаться  в  таких случаях, прикидывая заранее свой conЅ
 trol flow, последовательность состояний своего файла на  диске  и
 что  можно  потом  с  этим  делать.   И  reset мог приключиться и
 SIGKILL неожданно прийти.
  Подробно останавливаться на схемах  восстановления  после  таких
 приколов  я  уже не буду, скажу только, что сами журналируемые fs
 -- это пример такой работы, и приведу один близкий всем пример --
 большинство  текстовых редакторов при перезаписи или делают backЅ
 upы исходных файлов или создают  сначала  новый  файл  как-нибудь
 отдельно,  а  потом  одним ln() вставляют его на место старого. В
 таком случае (при нормальном control flow) на диске всегда  лежит
 хотя  бы  старая  копия файла, и обычно неполный файл можно сразу
 отличить по неполному размеру.
  Так вот в единственно возможном поведении reiser такого  условия
 нет.   В  лежашем  на  диске  файле  может оказаться любой мусор,
 например вчерашняя копия shadow.  Во  всяком  случае  этот  мусор
 будет  совсем  непохож  на  то,  что  там должно быть. Что бывает
 просто фатально в случае бинарных файлов у приложения.
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: ReiserFS   Alex Korchmar   30 Nov 2001 01:53:33 
 Re: ReiserFS   alexey.vyskubov@nokia.com   03 Dec 2001 17:38:24 
 Re: ReiserFS   Oleg Polyanski   04 Dec 2001 04:54:48 
 Re: ReiserFS   Michael Kazakov   04 Dec 2001 12:07:42 
 Re: ReiserFS   Leon Kanter   04 Dec 2001 13:07:41 
 Re: ReiserFS   alexey.vyskubov@nokia.com   04 Dec 2001 13:36:35 
 Re: ReiserFS   Leon Kanter   04 Dec 2001 15:01:01 
 Re: ReiserFS   alexey.vyskubov@nokia.com   04 Dec 2001 15:52:32 
 Re: ReiserFS   Leon Kanter   04 Dec 2001 17:23:26 
 Re: ReiserFS   alexey.vyskubov@nokia.com   04 Dec 2001 18:35:57 
 Re: ReiserFS   Victor Kolosov   05 Dec 2001 00:02:11 
 Re: ReiserFS   Aleksey Barabanov   05 Dec 2001 01:38:41 
 Re: ReiserFS   Victor Kolosov   05 Dec 2001 13:24:33 
 Re: ReiserFS   Aleksey Barabanov   06 Dec 2001 01:53:47 
 Re: ReiserFS   Alex Korchmar   05 Dec 2001 00:10:25 
 Re: ReiserFS   Dmitry Sergienko   05 Dec 2001 13:08:58 
 Re: ReiserFS   Oleg Drokin   05 Dec 2001 17:52:53 
 Re: ReiserFS   Dmitry Sergienko   06 Dec 2001 16:08:32 
 Re: ReiserFS   Oleg Drokin   06 Dec 2001 22:16:31 
 Re: ReiserFS   Eugene Korovin   07 Dec 2001 00:13:07 
 Re: ReiserFS   Aleksey Barabanov   07 Dec 2001 01:55:29 
 Re: ReiserFS   Oleg Drokin   07 Dec 2001 12:15:59 
 ReiserFS   Dmitry Strokov   13 Dec 2001 14:37:18 
 ReiserFS   Zahar Kiselev   14 Dec 2001 08:19:53 
 ReiserFS   Dmitry Strokov   17 Dec 2001 13:39:50 
 Re: ReiserFS   Alex Korchmar   06 Dec 2001 01:02:12 
 Re: ReiserFS   Aleksey Barabanov   05 Dec 2001 01:22:20 
 Re[2]: ReiserFS   Oleg O. Ossovitskii   05 Dec 2001 11:05:52 
 Re: Re[2]: ReiserFS   Stas Vlasov   05 Dec 2001 23:39:46 
 Re[4]: ReiserFS   Oleg O. Ossovitskii   06 Dec 2001 11:01:08 
 Re: Re[4]: ReiserFS   Stas Vlasov   06 Dec 2001 20:18:14 
 Re[6]: ReiserFS   Oleg O. Ossovitskii   06 Dec 2001 19:18:47 
 Re: Re[6]: ReiserFS   Stas Vlasov   06 Dec 2001 23:33:37 
 Re[8]: ReiserFS   Oleg O. Ossovitskii   07 Dec 2001 11:01:33 
 Re: Re[8]: ReiserFS   Stas Vlasov   08 Dec 2001 00:26:43 
 Re: Re[2]: ReiserFS   Ilya Evseev   06 Dec 2001 11:46:32 
 Re: Re[2]: ReiserFS   Stas Vlasov   06 Dec 2001 20:07:46 
 Re: Re[2]: ReiserFS   Aleksey Barabanov   07 Dec 2001 11:40:53 
 Re: Re[2]: ReiserFS   Stas Vlasov   08 Dec 2001 00:34:26 
 Re: ReiserFS   Aleksey Barabanov   08 Dec 2001 12:33:46 
 Re: Re[2]: ReiserFS   Ilya Anfimov   07 Dec 2001 22:44:18 
 Re: ReiserFS   Aleksey Barabanov   08 Dec 2001 12:33:48 
 Re: ReiserFS   Wladimir Mutel   17 Dec 2001 22:58:15 
 Re: Re[2]: ReiserFS   Dmitry Melekhov   07 Dec 2001 23:15:00 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 14:56:58 
 Re: ReiserFS   Stas Vlasov   10 Dec 2001 22:44:02 
 Re: ReiserFS   Yuriy Kaminskiy   11 Dec 2001 03:41:33 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 15:05:08 
 Re[2]: ReiserFS   Oleg O. Ossovitskii   10 Dec 2001 16:40:50 
 Re: ReiserFS   Stas Vlasov   10 Dec 2001 22:50:11 
 Re: ReiserFS   Oleg Polyanski   06 Dec 2001 12:31:48 
 ReiserFS   Dmitry Strokov   07 Dec 2001 11:13:52 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 15:07:09 
 Re: ReiserFS   Oleg Polyanski   10 Dec 2001 16:18:26 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 16:28:35 
 Re: ReiserFS   Oleg Polyanski   11 Dec 2001 14:32:53 
 Re: ReiserFS   Vladimir Bormotov   12 Dec 2001 05:07:56 
 ReiserFS   Sasha Goncharov   12 Dec 2001 19:32:26 
 Re: ReiserFS   alexey.vyskubov@nokia.com   04 Dec 2001 13:36:33 
 Re: ReiserFS   Oleg Drokin   04 Dec 2001 21:56:27 
 Re: ReiserFS   Dmitry Sergienko   05 Dec 2001 00:42:04 
 Re: ReiserFS   Vladimir Bormotov   05 Dec 2001 03:31:39 
 Re: ReiserFS   Dmitry Sergienko   05 Dec 2001 13:14:48 
 Re: ReiserFS   Yury Lyakh   05 Dec 2001 14:03:17 
 Re: ReiserFS   Valery Shishkov   06 Dec 2001 00:35:10 
 Re: ReiserFS   Vladimir Bormotov   05 Dec 2001 20:17:36 
 Re: ReiserFS   alexey.vyskubov@nokia.com   10 Dec 2001 14:54:53 
 Re: ReiserFS   Aleksey Barabanov   06 Dec 2001 01:53:48 
 Re: ReiserFS   Oleg Drokin   05 Dec 2001 15:20:43 
 Re: ReiserFS   Oleg Drokin   05 Dec 2001 15:20:43 
 Re: ReiserFS   Dmitry Sergienko   06 Dec 2001 16:01:06 
 Re[2]: ReiserFS   Oleg O. Ossovitskii   05 Dec 2001 10:53:32 
 Re: ReiserFS   Oleg Drokin   05 Dec 2001 15:18:29 
 Re: ReiserFS   Roman Stepanov   19 Dec 2001 18:06:04 
 Re: ReiserFS   Oleg Drokin   20 Dec 2001 00:25:54 
 Re: ReiserFS   Roman Stepanov   20 Dec 2001 17:38:42 
Архивное /ru.linux/1511e91d3be0.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional