Btrfs에 대한 DISCARD의 비동기 구현이 제공됩니다.

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

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

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

출처 : opennet.ru

코멘트를 추가