Показано с 1 по 4 из 4.

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

  1. #1
    VIP Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Аватар для Aleksandra
    Регистрация
    13.01.2007
    Сообщений
    7,662
    Вес репутации
    2817

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

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

    Линус Торвальдс в списке рассылки ядра жестоко раскритиковал эти предложения и заявил, что большинство программистов никогда не будут этими новыми системными вызовами пользоваться, что они будут нестабильными и плохо оттестированными.

    Цитата: "Поэтому вместо того, чтобы придумывать новые системные вызовы, которые никто не будет использовать, разработчики файловых систем должны стараться обеспечить нормальную работу даже плохого кода. Потому что, хотите вы этого или нет, 99% программ именно так и написаны.

    Тот неоспоримый факт, что люди не проверяют ошибки, которые возвращает системный вызов close() (закрытие файла и сброс "грязных" данных из кэша на диск) должен означать, что, например, при отложенной записи на диск нужно обязательно проверять ситуацию переполнения диска. Если ваша файловая система возвращает ENOSPC при закрытии файла через вызов close(), а не при записи в него через write(), значит, что вы потеряли обработку ошибок переполнения диска у 90% приложений. Вот так всё просто.

    Жаловаться на то, что ошибка в приложении - это всё равно, что жаловаться на скорость света: вы должны иметь дело с реальным миром, а не с тем, каким бы вы хотели его видеть. То же самое относится к идее, что "люди должны писать во временный файл, вызывать функцию fsync для него и переименовывать его вместо оригинала". Вы думаете, что так должно быть, но в реалии программисты пишут open(filename, O_TRUNC | O_CREAT, 0666). Это неправильно, я знаю. Но в конечном итоге, даже разработчики хорошо написанного приложения могут решить, что fsync() не стоит тех потерь в производительности. В git, например, где мы обычно пытаемся быть очень, очень и очень аккуратными, fsync() в объектных файлах по умолчанию выключен.

    Почему? Потому что его включение вызывает неприемлемое поведение ext3. Сейчас, надо сказать, дизайн git'a рассчитан на то, что потеря нового БД файла не фатальна, но потенциально это очень беспокоит и смущает - вам, возможно, придётся откатить изменения назад и переделать некоторые операции вручную.

    К чему я всё это говорю ? Иногда те разработчики файловых систем, которые говорят "вы должны использовать fsync(), чтобы получить предсказуемые результаты" - это те же люди, которые испортили всё это до такого безобразия, что fsync'ом абсолютно нереально пользоваться.

    Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда."

    Источник: opennet.ru

    Подробности
    Наша служба, будто сердце, отдыха не знает никогда.

  2. Реклама
     

  3. #2
    Global Moderator Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Аватар для ALEX(XX)
    Регистрация
    31.03.2005
    Адрес
    Чернигов
    Сообщений
    10,777
    Вес репутации
    3704
    Новость интересная, спасибо. Рекомендую к прочтению секлабовский срач в каментах, это песня
    Left home for a few days and look what happens...

  4. #3
    Senior Member Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Регистрация
    11.08.2005
    Адрес
    Узбекистан, Ташкент
    Сообщений
    2,117
    Вес репутации
    1795
    Цитата Сообщение от ALEX(XX) Посмотреть сообщение
    Новость интересная, спасибо. Рекомендую к прочтению секлабовский срач в каментах, это песня
    Имхо, да...

  5. #4
    Senior Member Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Аватар для maXmo
    Регистрация
    21.09.2004
    Сообщений
    1,411
    Вес репутации
    288
    Что-то я не понял, как связаны обнуление файлов, крах ОС, дизайн ФС, программы, не обрабатывающие ENOSPC и как они должны его обрабатывать? Бежать в магаз за новым диском?

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 25.06.2010, 14:59
  2. Ответов: 1
    Последнее сообщение: 22.06.2010, 17:18
  3. Линус Торвальдс доволен выходом Windows 7
    От SDA в разделе Другие новости
    Ответов: 1
    Последнее сообщение: 27.10.2009, 13:09
  4. Ответов: 0
    Последнее сообщение: 24.10.2008, 21:50
  5. Линус Торвальдс прокомментировал ошибки в Core 2 Duo
    От ALEX(XX) в разделе Новости компьютерной безопасности
    Ответов: 0
    Последнее сообщение: 04.07.2007, 11:46

Свернуть/Развернуть Ваши права в разделе

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Page generated in 0.00341 seconds with 21 queries