Эдуард Шишкин объявил о доступности патчей с реализацией файловой системы Reiser4 для ядра Linux 3.14. Новый выпуск примечателен добавлением поддержки различных транзакционных моделей, позволяющих сочетать в одной реализации ФС несколько режимов обеспечения целостности, оптимальных для разных типов носителей.
Обычно файловые системы поддерживают только одну, жестко интегрированную транзакционную модель. Это либо только журналирование (как в ReiserFS (v3), ext4, XFS), либо только Write-Anywhere (более известная как Copy-on-Write), как в ZFS и Btrfs. Однако, журналируемые файловые системы не лучший выбор для
SSD-дисков из-за двойных записей (все модифицированные блоки
записываются сначала в журнал, потом на штатное место на диске).
И, наоборот, CoW-файловые системы плохо работают с накопителями на основе вращающихся дисков (в этой модели модифицированные данные всегда записываются на новое место на диске, что приводит к фрагментации, к которой НЖМД особо чувствительны).
В Reiser4 удалось совместить обе техники. Теперь пользователь может задать желаемую транзакционную модель во время монтирования файловой системы. Помимо классических журналирования и CoW, Reiser4 также поддерживает и гибридную транзакционную модель, в которой часть
модифицированных блоков перезаписывается с использованием журнала на
старое место на диске, а другая часть - при помощи техники Copy-on-Write переносится на новое место. Решения о перезаписи или
перемещении блока принимаются исходя из попыток минимизировать
фрагментацию.
Поддерживаемые режимы обработки транзакций:
Дополнительно можно отметить, подготовку для openSUSE готовых для установки пакетов с ядром Linux 3.14, в которые интегрирована поддержка Reiser4. Кроме того, для Reiser4 предложен патч с реализацией поддержки опции монтирования "discard" для информирования SSD-накопителей о не используемых в ФС блоках, что позволяет повысить производительность при работе с SSD-накопителями и увеличить срок их службы.