anonymous@RULINUX.NET~# Last login: 2024-05-07 19:02:28
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Линус Торвальдс выступил с критикой дизайна файловых систем

В виду последних событий, когда многие люди обнаружили пропадание и обнуление файлов в файловой системе ext4 после краха ОС, создатели ext4 высказались за идею включения в ядро новых системных вызовов, которые бы позволили безопасно работать с файлами. Линус Торвальдс в списке рассылки ядра жестоко раскритиковал эти предложения и заявил, что большинство программистов никогда не будут этими новыми системными вызовами пользоваться, что они будут нестабильными и плохо оттестированными. Цитата: "Поэтому вместо того, чтобы придумывать новые системные вызовы, которые никто не будет использовать, разработчики файловых систем должны стараться обеспечить нормальную работу даже плохого кода. Потому что, хотите вы этого или нет, 99% программ именно так и написаны. Неоспоримый факт в том, что люди не проверяют ошибки, которые возвращает системный вызов close() (закрытие файла и сброс "грязных" данных из кэша на диск) должен означать, что, например, при отложенной записи на диск нужно обязательно проверять ситуацию переполнения диска. Если ваша файловая система возвращает ENOSPC при закрытии файла, а не при записи в него, это значит, что вы потеряли обработку ошибок переполнения диска у 90% приложений. Вот так всё просто. Жаловаться на то, что ошибка в приложении, это всё равно что жаловаться на скорость света: вы должны иметь дело с реальным миром, а не с тем, каким бы вы хотели его видеть. То же самое относится к идее, что "люди должны писать во временный файл, вызывать функцию fsync для него и переименовывать его вместо оригинала". Вы думаете, что так должно быть, но в реалии программисты пишут open(filename, O_TRUNC | O_CREAT, 0666). Жёстко и не правильно, я знаю. Но в конечном итоге, даже разработчики хорошо написанного приложения могут решить, что fsync() не стоит тех потерь в производительности. В git, например, где мы обычно пытаемся быть очень, очень и очень аккуратными, fsync() в объектных файлах по умолчанию выключен. Почему? Потому что его включение вызывает неприемлемое поведение ext3. Сейчас, надо сказать, дизайн git'a рассчитан на то, что потеря нового БД файла не фатальна, но потенциально это очень беспокоит и смущает - вам, возможно, придётся откатить изменения назад и переделать некоторые операции вручную. Так о чём я говорю? Иногда те разработчики файловых систем, которые говорят "вы должны использовать fsync(), чтобы получить предсказуемые результаты" - это те же люди, которые испортили всё это до такого безобразия, что fsync'ом абсолютно нереально пользоваться. Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда."

anonymous(*) (2009-03-26 18:45:21)

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7

[Ответить на это сообщение]
avatar
Скрыть

Re:Линус Торвальдс выступил с критикой дизайна файловых систем

янихуянипонел

anonymous(*)(2009-03-26 19:13:40)

Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7
avatar
Скрыть

Re:Линус Торвальдс выступил с критикой дизайна файловых систем

какое место непонятно?

anonymous(*)(2009-03-26 19:23:22)

Opera/9.63 (X11; Linux i686; U; ru) Presto/2.1.1
avatar
Скрыть

Re:Линус Торвальдс выступил с критикой дизайна файловых систем

Многабукав, очевидно

stav(*)(2009-03-26 21:36:53)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.7) Gecko/2009030814 Iceweasel/3.0.7 (Debian-3.0.7-1)
avatar
Скрыть

Re:Линус Торвальдс выступил с критикой дизайна файловых систем

Лучше бы эту выволочку девелоперам устроил до того как пользователи начали терять файлы. Постфактум-то ругаться каждый может..

anonymous(*)(2009-03-26 22:53:39)

avatar
Скрыть

Re:Линус Торвальдс выступил с критикой дизайна файловых систем

Линус выступает за быдлокодеров? Торвальдса опять понесло, кто нибудь прищемите йайтса этому жирному бесу!

Давно пора было Патрика выдвигать на пост....

anonymous(*)(2009-03-26 23:47:24)

Mozilla/5.0 (X11; ; Linux i686; en-US; rv:1.8.1.18) Gecko/20080703 Mandriva/2.0.0.18-1.1mdv2008.0
avatar
Скрыть

Re:Линус Торвальдс выступил с критикой дизайна файловых систем

>Линус выступает за быдлокодеров?

Нет, "против" тех из них, которые "пишут" FS и хотят переложить свои проблемы на других...

anonymous(*)(2009-03-27 18:51:56)

Opera/9.63 (X11; Linux i686; U; ru) Presto/2.1.1
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!