Для Btrfs представлена асинхронная реализация DISCARD

Для файловой системы btrfs представлена асинхронная реализация операции DISCARD (пометка освобождённых блоков, которые уже можно не хранить физически), реализованная инженерами компании Facebook.

Суть проблемы: в изначальной реализации DISCARD выполняется синхронно с остальными операциями, что в ряде случаев приводит к проблемам производительности, поскольку приходится ожидать завершения соответствующих команд накопителями, что требует дополнительное время. Это может стать проблемой в случае, если реализация DISCARD накопителем работает медленно.

При асинхронной реализации ожидать завершения DISCARD накопителем при обычной работе ФС не требуется, что снимает проблему, переводя данную операцию в разряд фоновых. Представленная реализация также выполняет некоторые оптимизации. Например, она ожидает некоторое время из соображений, что блок возможно будет вскоре использован так, что вообще не окажется смысла в выполнении процедуры DISCARD, а также пытается объединять регионы до фактического выполнения DISCARD с целью уменьшения общего числа операций.

Источник: opennet.ru

Добавить комментарий