Para el sistema de archivos btrfs implementación asíncrona de la operación DISCARD (marcado de bloques liberados que ya no se necesita almacenar físicamente), desarrollada por los ingenieros de Facebook.
El problema radica en que en la implementación original, DISCARD se ejecuta de manera sincrónica con otras operaciones, lo que en ciertos casos puede causar problemas de rendimiento, ya que se debe esperar a que las operaciones correspondientes sean concluidas por los dispositivos de almacenamiento, requiriendo tiempo adicional. Esto puede convertirse en un inconveniente si la implementación de DISCARD en el dispositivo es lenta.
Con la implementación asíncrona, no es necesario esperar a que el dispositivo complete DISCARD durante la operación normal del sistema de archivos, lo que elimina el problema y convierte esta operación en un proceso en segundo plano. La implementación presentada también realiza algunas optimizaciones. Por ejemplo, espera un tiempo determinado con la idea de que el bloque puede ser utilizado pronto, por lo que no tendría sentido llevar a cabo el procedimiento DISCARD, además de intentar combinar regiones antes de la ejecución real de DISCARD con el objetivo de reducir el número total de operaciones.
Fuente: opennet.ru
