Pull to refresh

Новый быстрый интерфейс изменения размера EXT4 файловой системы

Reading time 1 min
Views 9.8K
Original author: Michael Larabel
Вчера был опубликован запрос добавления изменений в ядро Linux 3.3 от Theodore Ts'o. Среди множества исправилений багов и других изменений в текущей де-факто стандартной файловой системе Linux, EXT4, появился новый интерфейс изменения размера файловой системы на лету, который впервые был публично представлен несколько месяцев назад. Новый интерфейс для EXT4 разработал Yongqiang Yang.

Что пишет сам автор по этой теме? «Это новый интерфейс изменения размера налету для ext4. Он может быть использован ioctl с EXT4_IOC_RESIZE_FS и 64-битным числом, хранящим размер файловой системы в блоке.»

Реализация Yongqiang отличается тем, что изменение размера EXT4 налету теперь происходит в ядре. Тесты, представленные Yongqiang, показывают, что изменение размера файловой системы с новым кодом значительно быстрее: изменение размера с 20Гб до 230Гб раньше занимало более пяти минут, но сейчас он показал, что это можно сделать всего за 3.35 секунды. Изменение размера со 100Гб до 230Гб занимает менее половины секунды. Подробные тесты можно посмотреть в рассылке.

Кроме того, что изменение размера файловой системы стало намного быстрее, в новом коде добавились и другие полезные функции, такие как bigalloc и простое исключение битового массива (exclude bitmap easily).

Новая реализация добавила около 1000 строк кода в модуль файловой системы ядра. Pull request в 3.3 ядро, который включает описанную выше реализацию плюс другие изменения в EXT4, можно посмотреть в письме Theodore Ts'o.

Это улучшение EXT4 лишь одно из многих улучшений в ядре 3.3, над которым только начали работать и которое официально выйдет примерно через два месяца.
Tags:
Hubs:
+39
Comments 47
Comments Comments 47

Articles