The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Samsung предложил новый вариант драйвера exFAT для ядра Linu..."
Отправлено пох., 22-Янв-20 20:33 
> Я использую data=writeback. Данные не журналируются, но метаданные вполне себе да. И
> барьеры есть. Журнал нужен, чтобы не повредить метаданные. Потому что если

вообще-то такой журнал придуман совершенно для другого - чтобы сэкономить время на fsck.
Когда этот коран писали - самой большой проблемой наследников system7 было неприемлемо выросшее время проверки диска после перезагрузки ресетом, когда емкость дисков резко скакнула с десятков до сотен гигабайт.

В результате кто-то запилил "background fsck" (чур меня, чур!) а кто-то - вот такую хрень, журнал метаданных.

> они повредятся, фс резко поплохеет и потерей пары временных файлов из

журнал на не cow-fs в принципе не гарантирует что они "не повредятся". А тем более журнал в режиме записи данных вперемешку с метаданными.

Нет, fs не "резко поплохеет", потому что ее структуры данных вообще крайне трудно необратимо испортить. Но вот тому, что писалось в момент крэша - поплохеет гарантировано, и хорошо если на васян-десктопе нет ничего более ценного чем "кэш браузера".

Если журнала нет - еще можно пытаться что-то ловить в lost+found (в надежде что повредили мы содержимое directory, а не inode с данными). Если журнал есть - ловить нечего, поскольку он вернет тебе систему в "консистентное" состояние, пооверрайтив неконисистентные метаданные - _устаревшими_. Поскольку у нас тут не коровье пастбище и файлы были перезаписаны по месту (а журнал об этом узнать не успел) - у тебя теперь вместо их содержимого веселенькая вермишель.

"зато fsck ненужен!" и "смотрите как быстро загрузились после крэша!"

Если бы кто-то, не понимая как работает журнал, не лез дергать ручки - ситуация была бы чуток повеселее - поскольку журнал обновляется вперед данных - файлы либо нулевой длины, либо с прежним содержимым, либо исчезли (если созданы в момент крэша, но в журнал попасть не успели - занятое ими место после наката журнала снова помечено как свободное), вермишель при "ordered" невозможна.


# ls -la /lost+found/
total 608
drwx------  2 root root   16384 Sep  5  2015 .
drwxr-xr-x 22 root root    4096 Jan  8 08:08 ..
-rw-------  1 user users 190946 Dec 26  2015 #3146740
-rw-r--r--  1 user users  33156 Sep 22  2015 #3162003
-rw-------  1 user users 318722 Jan  6  2016 #3165803
-rw-r--r--  1 user users  52401 Apr 12  2018 #3286995

система не выключается практически никогда, и периодически виснет (d2700, да, традиционная проблема с мостом) С 2011го года, как видим, ничегошеньки фатального с нежурналируемой fs не случилось.

в /tmp/lost+found мусор удаляется, но там его не то чтобы на порядок больше - noatime+barrier=0 очень здорово уменьшают шансы повиснуть именно в момент записи метаданных.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру