Очередная порция улучшений в Btrfs

В рамках подготовки к выпуску ядра 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. Кроме того, на повестке дня актуальным вопросом остается полное исправление коллизий кэшей, так как потенциально это позволяет проводить атаки для вызова отказа в обслуживании.

Источник:
http://www.opennet.ru/opennews/art.shtml?num=35636

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>