LINUX.ORG.RU

Обнаружены проблемы, приводящие к потере данных на разделах с ext4

 ,


0

0

В багрепортах появились сообщения о том, что в дистрибутиве Ubuntu 9.04 встречается ошибка в файловой системе ext4, приводящая к потере данных. Заключается она в том, что при использовании отложенного распределения информации в ext4 (Delayed allocation) существует вероятность потерять при крахе системы содержимое большого числа файлов (в журнал изменения вносятся сразу, но сами данные на диск записаться не успевают). Не исключено, что подобная неприятность встречается и в других системах, использующих ext4.

>>> Подробности



Проверено: Shaman007 ()

Ответ на: комментарий от stalkerg

> Проверка такова - пару раз emerge --sync и она умирает.

ОМГ! Сегодня что день вещества на ЛОРе?

у меня уже 2 месяца на ext4 и портежи с дистфайлами и даже восмигиговый кэш distcc - ниче пока не умерло

r0mik
()
Ответ на: комментарий от JackYF

> Эти патчи не устраняют ошибку, а возвращают более кривое/медленное поведение, аналогичное ext3

Насчет "кривого" - это отсебятина, насчет "медленного" - зато оно _привычное_. Ошибкой является как минимум выпуск ФС, которая рекламируется как "совместимая", с таким отклонением в поведении.

tailgunner ★★★★★
()
Ответ на: комментарий от ovax

> Тут, понимаешь, на носу выход 11ой федоры с ext4 по умолчанию - Is Fedora unstable? - Of course it is not! :)

DOKA
()

Журналируемая ФС и сохранность файлов

Тут многие говорят, что обнуление файлов при внезапном отключении питания - это не баг. Но ведь журналируемая ФС и создана для сохранности файлов при сбоях оборудования. А поскольку такие случаи не редкость, то разработчик просто обязан предусматреть их и обеспечить сохранность данных.

Dimanc ★★
()
Ответ на: комментарий от teferiincub

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

So, I've been aware of this problem, and have been working on a solution, but since I'm not subscribed to this bug, I wasn't aware of the huge discussion going on here .....

Как он сам говорит по ссылке, Theodore знал об этой проблеме, работал на решением, но не думал, что это вызовет многочисленные дискуссии.

Знал же, но тем не менее молчал, а тем временем некоторые дистроклепатели включили ext4 в ядро как стабильную.

andreas90
()

А я только подумывал перейти на ext4 ^^

Gary ★★★★★
()
Ответ на: комментарий от weare

ЭТО ПЕАР!!!!1111 унылый сайт с копипастой не волнует никого кроме weare

vostrik ★★★☆
()
Ответ на: комментарий от Dimanc

Чтож ты там такое на bash'е делаешь, что оно у тебя тормозит не по-детски? Ядерный взрыв чтоль обсчитываешь?

Reset ★★★★★
()
Ответ на: комментарий от r0mik

>да ну? журнал обеспечивает непротиворечивость ФС и все

А непротиворечивость позволяет сохранить структуру ФС, а ФС нужна, чтобы хранить файлы. Структура ФС без файлов не нужна.

Dimanc ★★
()
Ответ на: комментарий от legolegs

>и не умеет именно то, что нужно (статический айпи, впн

Ох уж эти сказочки, ох уж эти сказочники.

Dudraug ★★★★★
()
Ответ на: Журналируемая ФС и сохранность файлов от Dimanc

> Тут многие говорят, что обнуление файлов при внезапном отключении питания - это не баг. Но ведь журналируемая ФС и создана для сохранности файлов при сбоях оборудования.

Посылка неверна.
Журналируемость придаёт файловой системе свойство быстрого (ключевое слово!) и надёжного восстановления собственной структуры. На пользовательские данные, как правило, наплевать.

> А поскольку такие случаи не редкость, то разработчик просто обязан предусматреть их и обеспечить сохранность данных.


Нет.
Свойство ненадёжностой сохранности пользовательских данных в файловой системе должен рассматривать прикладной программист. Иначе имеет место быть то, что в теме.

iZEN ★★★★★
()
Ответ на: комментарий от Reset

> Чтож ты там такое на bash'е делаешь, что оно у тебя тормозит не по-детски? Ядерный взрыв чтоль обсчитываешь?

Во время загрузки операционки и при нехватке ресурсов быстродействие сказывается.
А для оболочки и пускалки скриптов, повторюсь, баш- монстр.

Dimanc ★★
()
Ответ на: комментарий от st0ke

> Уж лучше бы zfs реализовали, куда интереснее фс

Вообще-то ответ уже готовят: btrfs - приемник ext4

Evgueni ★★★★★
()
Ответ на: комментарий от iZEN

>Посылка неверна.
>Журналируемость придаёт файловой системе свойство быстрого (ключевое слово!) и надёжного восстановления собственной структуры. На пользовательские данные, как правило, наплевать.


Структура без данных не нужна (уже писал выше).

>Свойство ненадёжностой сохранности пользовательских данных в файловой системе должен рассматривать прикладной программист. Иначе имеет место быть то, что в теме.


Интересный подход. А не легче ли сделать надежной систему? Прикладные программы работают поверх нее и каким образом они будут работать надежно, если не надежен фундамент?

Dimanc ★★
()
Ответ на: комментарий от Dimanc

> Идиот!

Приятно познакомиться

> Если это убогое поделие поддерживает POSIX, это не значит, что оно и есть POSIX. В этом монстре помимо POSIX поддерживается еще куча ненужного барахла и тормозит он не по-детски.

Знаешь, если у тебя тормозит шелл, то, вероятно, тебе не стоит пользоваться линуксом

> А вот если скрипт с #!/bin/sh использует возможности оболочки, которых нет в POSIX, то такие скрипты идут лесом

Вероятно, что использует, я не отрицаю. Вопрос о том, что разработчики дебиана в очередной раз выпендрились и внесли в систему еще одну точку несовместимости. Аргумент-то зеркальный: коль скоро bash может некорректно поддерживать POSIX, то и dash от этого не застрахован, вообще-то.

> , вместе с тобой, annoynimous.

Лесом идут малолетные обормоты, мастурбирующие на линукс. Для меня он -- инструмент работы и дополнительные трудности, создаваемые не в меру усердными разработчиками нафиг не сдались.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

>Вероятно, что использует, я не отрицаю. Вопрос о том, что разработчики дебиана в очередной раз выпендрились и внесли в систему еще одну точку несовместимости. Аргумент-то зеркальный: коль скоро bash может некорректно поддерживать POSIX, то и dash от этого не застрахован, вообще-то.

Дело не в том что bash совместим или нет. Дело в том, что когда пишут #!/bin/sh то это подразумевает, что скрипт будет на любом шелл-подобном интерпретаторе, я лично так это понимаю. Но когда в такой скрипт добавляют специфичные вещи для конкретного интерпретатора - это уже клиника. Если нужен баш, то пусть и пишут #!/bin/bash . Имхо в несовместимости виноваты авторы таких скриптов, а не те кто поменял симлинк /bin/sh на другой.

Dudraug ★★★★★
()

да исправят быстро эту ошибку .. зачем волноватся ... открытое сообщество хорошое тем что там ошибки быстро исправляются ....

pROCKrammer
()
Ответ на: комментарий от annoynimous

>> Если это убогое поделие поддерживает POSIX, это не значит, что оно и есть POSIX. В этом монстре помимо POSIX поддерживается еще куча ненужного барахла и тормозит он не по-детски.

>Знаешь, если у тебя тормозит шелл, то, вероятно, тебе не стоит пользоваться линуксом


Нет, у меня не тормозит шелл, баш я не использую.

>Вопрос о том, что разработчики дебиана в очередной раз выпендрились


Выпендрились тем, что улучшили совместимость с POSIX

>и внесли в систему еще одну точку несовместимости.


Стандарт ОС - точка несовместимости??!

>Аргумент-то зеркальный: коль скоро bash может некорректно поддерживать POSIX, то и dash от этого не застрахован, вообще-то.


Как раз и нет. dash не реализует ничего, кроме POSIX, а вот баш (тоже корректно поддерэивающий его!) имеет вещи, которых в POSIX'е нет, поэтомы баш-_СКРИПТЫ_ не совместимы с POSIX.

>Лесом идут малолетные обормоты, мастурбирующие на линукс. Для меня он -- инструмент работы и дополнительные трудности, создаваемые не в меру усердными разработчиками нафиг не сдались.


Пунктуацию осиль сначала, ага. Какие трудности? В чем трудности? Не созданы ли они bash-писателями, не? Пусть лучше тормозит и работает криво?

Dimanc ★★
()
Ответ на: комментарий от Dimanc

>> На пользовательские данные, как правило, наплевать.

> Структура без данных не нужна (уже писал выше).


Сугубо ваши проблемы. Хотите воccтанавливаемости в том числе и пользовательских данных — делайте журнал и для них тоже (в Ext3 такое возможно).

> А не легче ли сделать надежной систему?


Легко — журналирование пользовательских данных на уровне ФС.
Ещё есть опция -sync для команды монтирования.
(В FreeBSD есть опция sysctl hw.ata.wc=0 — "не использовать дисковый кэш на запись".)
Но всё это — тормоза...

> Прикладные программы работают поверх нее и каким образом они будут работать надежно, если не надежен фундамент?


Фундамент как раз-таки надёжен. Он заботиться о собственной целостности. Откуда он будет доставать данные приложений, если они исчезли из оперативки в момент выключения питания? Из Астрала?

Я согласен только в одном — обнуление открытых на запись файлов — это маразм.

iZEN ★★★★★
()
Ответ на: комментарий от Dudraug

>Дело не в том что bash совместим или нет. Дело в том, что когда пишут #!/bin/sh то это подразумевает, что скрипт будет на любом шелл-подобном интерпретаторе, я лично так это понимаю. Но когда в такой скрипт добавляют специфичные вещи для конкретного интерпретатора - это уже клиника. Если нужен баш, то пусть и пишут #!/bin/bash . Имхо в несовместимости виноваты авторы таких скриптов, а не те кто поменял симлинк /bin/sh на другой.

Да-да, именно.

Dimanc ★★
()
Ответ на: комментарий от iZEN

>Сугубо ваши проблемы. Хотите воccтанавливаемости в том числе и пользовательских данных — делайте журнал и для них тоже (в Ext3 такое возможно).

Тьфу. Зачем мне структура, но без данных? Hint: mkfs очень быстро делает структуру ФС.

>Легко — журналирование пользовательских данных на уровне ФС.


))Только выше сейчас говорили о том, что журнал нужен для структуры.

>Фундамент как раз-таки надёжен. Он заботиться о собственной целостности. Откуда он будет доставать данные приложений, если они исчезли из оперативки в момент выключения питания? Из Астрала?


Я об этом не говорил (: Но зачем тереть данные, которые успели записаться?

>Я согласен только в одном — обнуление открытых на запись файлов — это маразм.


Маразм, но не бага. Я правильно понял?

Dimanc ★★
()
Ответ на: комментарий от Dimanc

У тебя есть тесты, которые показывают, что загрузка с dash'ем происходит существенно быстрее ? На глаз что красная шляпа, что debian грузятся одинаково при одинаковом количестве сервисов.

> А для оболочки и пускалки скриптов, повторюсь, баш- монстр.

Тебе нужен неудобный минимализм в стиле cmd из виндов ?

Reset ★★★★★
()
Ответ на: комментарий от Reset

>У тебя есть тесты, которые показывают, что загрузка с dash'ем происходит существенно быстрее ? На глаз что красная шляпа, что debian грузятся одинаково при одинаковом количестве сервисов.

У меня есть часы. Точно не помню, но загрузка стала быстрее секунд на десять.

>Тебе нужен неудобный минимализм в стиле cmd из виндов ?


Нет, конечно. Но мы про неинтерактивные скрипты и есть удобные оболочки, которые "съедают" гораздо меньше ресурсов.

Dimanc ★★
()
Ответ на: комментарий от iZEN

> Я согласен только в одном — обнуление открытых на запись файлов — это маразм.

reiser3 частенько мусор там оставляет.
какое вообще поведение должно быть если откатить транзакцию правильно невозможно, как вы считаете?

r0mik
()
Ответ на: комментарий от Dimanc

> Нет, у меня не тормозит шелл, баш я не использую.

Поздравляю! Можешь спать спокойно, до тех пор пока в одно место не вопьется тебе этот dash, как это произошло со мной. А вообще, умные люди молчат, когда им сказать нечего. Видимо, к тебе это не относится.

> Как раз и нет. dash не реализует ничего, кроме POSIX, а вот баш (тоже корректно поддерэивающий его!) имеет вещи, которых в POSIX'е нет, поэтомы баш-_СКРИПТЫ_ не совместимы с POSIX.

Почему же тогда дебиановцы не используют оригинальный sh, а написали свой? Лавры пейсателей покоя не дают? К тому же, поддержание одного bash неизмеримо проще, чем bash и dash одновременно, тем более, что bash-измов и скриптов bash-only полным-полно. Заметим, что я не оправдываю людей, которые пишут /#!/bin/sh, но при этом использующих башизмы. Однако подход дебиана только приводит к бóльшему хаосу, а не к лечению проблемы.

> Пунктуацию осиль сначала, ага.

Если не осталось аргументов, то, по крайней мере, оппонента можно еще и оскорбить. Уверен, что мой русский, равно как и английский, много лучше чем большинства пишущих здесь.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

>Можешь спать спокойно, до тех пор пока в одно место не вопьется тебе этот dash, как это произошло со мной

Так поменяй в этих скриптах sh на bash в чем проблема то?

Dudraug ★★★★★
()
Ответ на: комментарий от Dimanc

> Нет, конечно. Но мы про неинтерактивные скрипты и есть удобные оболочки, которые "съедают" гораздо меньше ресурсов.

Еще раз: bash -- это фактически "отраслевой стандарт". А все разговоры о том, что есть "лучше, выше и быстрее" -- лепет зеленых студентов, верящих в то, что совершенство достижимо. Нет, не достижимо! Более того, в погоне за ним во множестве плодятся новие и новые проблемы, а цель все более отдаляется. И Дебиан -- лучшее тому подтверждение: вспомним, с какими муками и задержками выходит каждый релиз и все равно этот релиз часто оказывается _по_совокупности_ факторов хуже релизов "нестабильной" федоры. Ни свежего софта, ни отсутствия ошибок. Не рыба, не мясо.

annoynimous ★★★★★
()
Ответ на: комментарий от tailgunner

>Насчет "кривого" - это отсебятина, насчет "медленного" - зато оно _привычное_. Ошибкой является как минимум выпуск ФС, которая рекламируется как "совместимая", с таким отклонением в поведении.

Совместимая с чем?

JackYF ★★★★
()
Ответ на: комментарий от annoynimous

>Почему же тогда дебиановцы не используют оригинальный sh, а написали свой?

Может потому что оригинальный sh давно RIP? Алсо следование стандартам не значит та же реализация. Возьмем gcc и icc, они оба компилят Стандартный сишный код (ну с89 во всяком случае точно), задачу свою оба выполняют, только вот по скорости работы результаты разные.

Dudraug ★★★★★
()
Ответ на: комментарий от annoynimous

>Еще раз: bash -- это фактически "отраслевой стандарт".

Любитель стандартов де-факто? Поклонник модели "стандартов" от MS?

JackYF ★★★★
()
Ответ на: комментарий от annoynimous

>Еще раз: bash -- это фактически "отраслевой стандарт

>Еще раз: IE -- это фактически "отраслевой стандарт

>Еще раз: Windows -- это фактически "отраслевой стандарт

Выбери фикс который тебе больше нравится.

Алсо не стандарты делают по продуктам, а продукты по стандартам.

Dudraug ★★★★★
()
Ответ на: комментарий от Dudraug

> Так поменяй в этих скриптах sh на bash в чем проблема то?

Я нашел эту ошибку только тогда, когда стал собирать программу на федоре, и то потому, что внимательно, построчно сравнивал мануалы bash и dash, после чего мой вопрос "а нафига в дебиане изобрели свой велосипед?" приобрел отчетливые очертания, о чем, собственно, я теперь тут и вещаю. Будь у меня только бубунта, я бы еще долго гадал, с чем ошибка связана, поскольку гребанный dash даже не может внятно сказать, что ему не понравилось в данной конкретной строке (еще один плевок в сторону dash'еписателей)

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

>bash -- это фактически "отраслевой стандарт". А все разговоры о том, что есть "лучше, выше и быстрее" -- лепет зеленых студентов

Ааааа быдлокодеры в треде!!!111

legolegs ★★★★★
()
Ответ на: комментарий от annoynimous

Почему автор скрипта прописал sh? Он не знал что sh может указывать не только на bash? Почему он не прописал #!/bin/bash? Какой смысл писать #!/bin/sh если юзаются фишки баша?

Dudraug ★★★★★
()
Ответ на: комментарий от JackYF

>>> Совместимая с чем?

>> С FAT12, блин.

> Я теряюсь в догадках, что можно на это ответить...

А я теряюсь в догадках, как это можно было спросить...

tailgunner ★★★★★
()
Ответ на: комментарий от Dudraug

> Выбери фикс который тебе больше нравится.

> Алсо не стандарты делают по продуктам, а продукты по стандартам.

Я ждал этого аргумента, спасибо, что Вы так предсказуемы.

Даже мой оппонент признал, что POSIX bash'ем поддерживается, все остальное (еще пока) не стандартизовано. А в случае отсутствия стандарта (а не намеренного нарушения его, как в случае с IE и Windows) стандартом становится то, что более всего распространено.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

>Поздравляю! Можешь спать спокойно, до тех пор пока в одно место не вопьется тебе этот dash, как это произошло со мной.

А поподробнее?

>А вообще, умные люди молчат, когда им сказать нечего. Видимо, к тебе это не относится.


Да вот, мне есть что сказать, как видишь. Разжевываю тебе одно и тоже.

>Почему же тогда дебиановцы не используют оригинальный sh, а написали свой? Лавры пейсателей покоя не дают? К тому же, поддержание одного bash неизмеримо проще, чем bash и dash одновременно, тем более, что bash-измов и скриптов bash-only полным-полно.


Стандарты никто не отменял. Они обеспечивают как раз то, о чем вы пишите- совместимость. Несоответствие им - зло. А главная причина - скорость.

>Если не осталось аргументов, то, по крайней мере, оппонента можно еще и оскорбить. Уверен, что мой русский, равно как и английский, много лучше чем большинства пишущих здесь.


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

Dimanc ★★
()
Ответ на: комментарий от Dudraug

> Почему автор скрипта прописал sh? Он не знал что sh может указывать не только на bash? Почему он не прописал #!/bin/bash? Какой смысл писать #!/bin/sh если юзаются фишки баша?

е-мое, почему Вы это меня спрашиваете? Пишите в Норвегию, интересуйтесь. Адрес дать могу. Но подозреваю, что лишь потому, что люди -- специалисты в области квантовой химии, а не программирования на bash. Да, это их недостаток, знаю. Но специалист в конкретной предметной области может таковым не быть в любой из смежных.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

>все равно этот релиз часто оказывается _по_совокупности_ факторов хуже релизов "нестабильной" федоры.

Уууу как все запущено. Я почти два года сидел на Дебиан (до сих пор на десктопе стоит, на ноуте убунта), полтора из них сидел на нестабильной ветки, недавно стал эксперименталом баловаться. У меня все работало и софт новый и багов почти не замечал. ЧЯДН?

Dudraug ★★★★★
()
Ответ на: комментарий от annoynimous

Так при чем милиция, что куры дохнут? ^W При чем тут dash и убунта?

Dudraug ★★★★★
()

вот по этому я еще на ext3

kyxap
()
Ответ на: комментарий от annoynimous

>Даже мой оппонент признал, что POSIX bash'ем поддерживается

Только те нерабочие скрипты не реализуют стандарт POSIX. Получается так.

>А в случае отсутствия стандарта (а не намеренного нарушения его, как в случае с IE и Windows) стандартом становится то, что более всего распространено.

Стандарт есть и до тех пор пока его не поменяют он остается стандартом.

Dudraug ★★★★★
()

Извините что вторгаюсь в Ваш флейм, но не моглибы Вы помочь с одной проблемойс ext4?

Примерно раз в три загрузки появляется надпись "RESIZE INODE invalid\nPlease, run fsck manually" или что-то типа того. Файлы не теряются. Чем это чревато и что вообще происходит?

naryl ★★★★★
()
Ответ на: комментарий от Dimanc

> Стандарты никто не отменял. Они обеспечивают как раз то, о чем вы пишите- совместимость. Несоответствие им - зло. А главная причина - скорость.

Вы сами признали, что POSIX стандарт bash поддерживает. Других стандартов на командные оболочки я не знаю. Если они Вам известны -- напишите, буду благодарен за просвещение.

> Почему же сразу оскорбить. Я просто указал, что _ВАШ_ русский не соответствует общепринятым нормам. А вам сказать, когда прибегают к агрументам вроде "у других еще хуже, поэтому и так сойдет"?

Я стараюсь писать грамотно, Вы не имеете права обвинять меня ни в том, что я не знаю русского, ни в том, что я искажаю его намеренно. А неизбежные опечатки, в том числе "сбежавшие запятые" -- что ж, прошу простить. А Ваши придирки к очевидным опечаткам, простите, бестактность.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

>Даже мой оппонент признал, что POSIX bash'ем поддерживается

Но не баш-скриптами, сколько раз нужно сказать!!!!!

Dimanc ★★
()
Ответ на: комментарий от Dimanc

>Но не баш-скриптами, сколько раз нужно сказать!!!!!

Вот-вот, gcc поддерживает c89, но написать код который не будет соответствовать с89, но компилироваться gcc просто. Например поставить однострочный комментарий //. И в общем случае такой код несовместим, хотя на деле наверное дело обстоит иначе.

Dudraug ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.