Суть изменений: переход на Iomap
В рамках окна слияния Linux 7.4, закрытого в воскресенье, 26 октября 2026 года, в основную ветку ядра были приняты изменения для файловой системы EXT4. Ключевым нововведением стала опциональная поддержка buffered IOmap. Эта функция заменяет устаревший механизм buffer head на современную инфраструктуру iomap, что позволяет оптимизировать путь ввода-вывода.
Разработчики подчеркивают, что улучшение носит «значительный» характер именно для операций записи больших объемов данных. При этом прирост производительности при чтении остается скромным, что делает данную опцию целевой для задач, связанных с интенсивной записью (например, базы данных, логирование, виртуализация).
Технические детали и ограничения
Поддержка не включена по умолчанию, так как новый режим имеет ряд ограничений. Для активации необходимо использовать опцию монтирования buffered_iomap. Разработчик Ted Ts'o明确指出, что данный режим не поддерживает следующие функции:
- Онлайн-дефрагментацию (online defragmentation);
- Хранение данных inline (inline data);
- Проверку целостности файлов (fsverify);
- Шифрование на уровне файловой системы (fscrypt);
- Индексы, не являющиеся extent-индексами (non-extent inodes);
- Режим журналирования данных (data=journal).
При этом система спроектирована с учетом безопасности: если возникает ситуация, требующая использования старого пути I/O, EXT4 автоматически откатывается к оригинальному коду, предотвращая сбои.
Результаты производительности
Работу над интеграцией вел инженер Huawei Чжан И (Zhang Yi). Тестирование показало существенное улучшение метрик при больших записях. Ниже приведена сводка характеристик нового режима:
| Параметр | Значение / Статус |
|---|---|
| Версия ядра | Linux 7.4 |
| Опция монтирования | buffered_iomap |
| Основной бенефит | Значительный прирост скорости больших записей |
| Прирост при чтении | Скромный / Незначительный |
| Поддержка fscrypt | Нет (требуется отключение) |
| Онлайн-дефрагментация | Нет (требуется отключение) |
| Автоматический фоллбэк | Да (при необходимости возвращается к старому пути) |
Дополнительные исправления
Помимо основной функции, в ветку вошли исправления ошибок, связанные с быстрым коммитом (fast commit), устранение потенциальных deadlock-состояний и защита от чтения за пределами границ (out-of-bound reads) в случаях работы с поврежденными файловыми системами. Эти улучшения повышают стабильность EXT4 в экстремальных условиях.
Источник: Phoronix ↗
