The OpenNET Project / Index page

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



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

Исходное сообщение
"В OpenZFS выявлена ошибка, которая может привести к поврежде..."
Отправлено пох., 26-Ноя-23 23:55 
Ну и вкратце реальный источник ошибки - успехов местным васянам найти его "git blame" - как найдете, свистните. Тут в freebsd 12 очень нужно (к ней не подойдет 15571).

При копировании файла большинство реализаций cp (а заодно tar и дофига кто еще) используют специфический метод для обнаружения в нем дыр и создания вместо нулей нераспределенных блоков которые копировать или сохранять незачем. Это НЕ чтение и сравнение с нулем, такое бы сработало как надо, но читать пару гигабайт ничего чтобы убедиться что там нули - немного глупо, и у большинства fs есть для этого отдельная фича в lseek.

Вот в ее реализации - обмишулились чуток. Да, во времена иллюмоса еще. Или даже швятога sun - но это неточно. И если дергать SEEK_HOLE на файле половина которого еще висит где-то в кэшах и не долетела до диска - можно ненароком найти несуществующую. (так что таки привет hole_(re)birth - реинкарнировалась десять лет спустя, падла)

Т.е, существующие данные потерять таким образом _нельзя_, повреждена будет только копия. Чтобы получить такую поврежденную копию - нужно скопировать файл ДВАЖДЫ - второй раз - сделав копию копии, причем достаточно быстро чтобы вторая копия еще не успела до конца дописаться - тогда третья оказывается несовпадающей.

Рефлинки никак с этим не связаны. Если там и есть баг - он отдельный.

Нули необязательны как признак поврежденного файла - может точно так же неправильно сработать и SEEK_DATA (т.е. наоборот - вместо законных нулей получить билиберды)

dmu_offset_next_sync связана только тем, что это оказалось вредное "улучшение", не улучшавшее как думали, а ухудшавшее производительность при множественной параллельной записи (т.е. просто оставляло больше шансов на возникновение race, но он таки возникает и при 0, просто надо сильнее грузить систему)

Сборка игого попала под раздачу именно потому что без конца копирует одни и те же файлы, их много, и параллельная сборка сильно грузит fs, игого и рач не виноваты, странно но тоже факт.

 

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



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

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