В рамках подготовки к выпуску ядра Linux 3.8, в файловой системе Btrfs ожидается ряд улучшений. Кроме всего прочего, внесен ряд патчей, нацеленных на увеличение производительности. Также отмечается, что на этой неделе будут опубликованы патчи с поддержкой RAID уровней 5 и 6.
Наиболее интересные моменты в pull-request от Криса Мэйсона (Chris Mason):
- По числу строк кода всех остальных опережает Стефан (Stefan), добавивший возможность замены диска в процессе эксплуатации. Данный вариант заметно отличается от нормальной процедуры замены диска, используемой при администрировании btrfs, в частности работает гораздо быстрее.
- Джозеф (Josef) работал над производительностью синхронной записи. В текущий pull request не был включен патч DIO_OWN_WAITING, обсуждавшийся в списке рассылки, однако включено много других изменений, снижающие задержки и нагрузку на процессор от системных вызовов fsync и записей с флагом O_DIRECT.
- Мяо Кси (Miao Xie) внес множество исправлений и постарался разнести неупорядоченные операции по бОльшему количеству процессоров, что должно ускорить работу файловой системы в ряде случаев.
- Сам Крис внес исправления, касающиеся обработки ошибок в случае коллизий хэшей. Данные исправления также будут бэкпортированы в другие стабильные ядра и выпущены по мере завершения тестирования.
- Патч с поддержкой RAID5 и 6 перебазируется относительно нового кода замены устройств. Ожидается что он будет готов и представлен в пятницу.
В дальнейшем Крис очень приветствует работу над улучшением скорости работы файловой системы, так как он видел различные тесты производительности и констатирует, что для ряда нагрузок пока есть отставание Btrfs от XFS и EXT4. Кроме того, на повестке дня актуальным вопросом остается полное исправление коллизий кэшей, так как потенциально это позволяет проводить атаки для вызова отказа в обслуживании.