The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В OpenZFS выявлена ошибка, которая может привести к повреждению файлов, opennews (??), 23-Ноя-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


354. "В OpenZFS выявлена ошибка, которая может привести к поврежде..."  +3 +/
Сообщение от пох. (?), 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, игого и рач не виноваты, странно но тоже факт.

Ответить | Правка | Наверх | Cообщить модератору

363. "В OpenZFS выявлена ошибка, которая может привести к поврежде..."  +/
Сообщение от Аноним (319), 27-Ноя-23, 03:20 
> Вот в ее реализации - обмишулились чуток. Да, во времена иллюмоса еще. Или
> даже швятога sun - но это неточно. И если дергать SEEK_HOLE на файле половина
> которого еще висит где-то в кэшах и не долетела до диска - можно ненароком найти
> несуществующую. (так что таки привет hole_(re)birth - реинкарнировалась десять
> лет спустя, падла)

Шикарно. Детектив, а не добавите эти детали с подробностями расследованоя в новость? Чисто в исторических целях, все же, шикарное расследование. Оно достойно быть в новости а не где-то в ж...е.

Ответить | Правка | Наверх | Cообщить модератору

369. "В OpenZFS выявлена ошибка, которая может привести к поврежде..."  +/
Сообщение от нах. (?), 27-Ноя-23, 12:43 
с этим обращайтесь к администрации сайта. Но она и так неплохо живет, незачем новости редактировать.

Надо бежать быстрее удалять.

Ответить | Правка | Наверх | Cообщить модератору

380. "В OpenZFS выявлена ошибка, которая может привести к поврежде..."  +/
Сообщение от Аноним (380), 28-Ноя-23, 04:34 
> с этим обращайтесь к администрации сайта. Но она и так неплохо живет,
> незачем новости редактировать.

В принципе ты и сам можешь отредактировать, если яваскрипт отсюда выполнять не обломно, под новостью есть "исправить". Но да, без JS не работает.

> Надо бежать быстрее удалять.

Фороникс вон вывесил продолжение саги. А опеннет - прошляпил, хотя вон тот гражданин повторил мое достижение - и таки обставил фороникса на, наверное, сутки, устроив детективу досрочный спойлер.

Ответить | Правка | Наверх | Cообщить модератору

405. "В OpenZFS выявлена ошибка, которая может привести к поврежде..."  +/
Сообщение от пох. (?), 29-Ноя-23, 17:07 
> обломно, под новостью есть "исправить". Но да, без JS не работает.

так оно ж премодерируется. Т.е. точно так же сиди и жди пока пчьолы прилетят.

Ответить | Правка | Наверх | Cообщить модератору

367. "В OpenZFS выявлена ошибка, которая может привести к поврежде..."  +/
Сообщение от Tron is Whistling (?), 27-Ноя-23, 10:10 
Да, тут 146% можно обгитблеймится что-то найти.
Вполне возможно, что связка нескольких багов.

Но беда в том, что оно уже фигову тучу времени это счастье таскает, просто массово вылезло при правильном схождении звёзд. А у кого-то уже давно вылезло на редко используемых данных, но пока ещё не замечено, потому что вера в сквозную(c) целостность(tm) и редко используемые данные.

Короче, лишний раз убеждаюсь в том, что трогать это не стоило :)

Ответить | Правка | К родителю #354 | Наверх | Cообщить модератору

370. "В OpenZFS выявлена ошибка, которая может привести к поврежде..."  +/
Сообщение от нах. (?), 27-Ноя-23, 12:48 
> Но беда в том, что оно уже фигову тучу времени это счастье таскает

там раза четыре этот код ковыряли (и это помимо глобальной переделки в open версии)

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

> Короче, лишний раз убеждаюсь в том, что трогать это не стоило :)

ну а что стоило? Не всем же подходит ntfs.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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