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

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

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

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

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

©  OpenNet