Pour le système de fichiers btrfs une mise en œuvre asynchrone de l'opération DISCARD (marquage des blocs libérés qui ne doivent plus être stockés physiquement), réalisée par les ingénieurs de Facebook.
Le problème réside dans le fait que dans l'implémentation originale, le DISCARD s'exécute de manière synchrone avec d'autres opérations, ce qui peut entraîner des problèmes de performance, car il faut attendre la fin des commandes correspondantes des unités de stockage, ce qui prend un temps supplémentaire. Cela peut devenir un problème si l'implémentation du DISCARD par l'unité de stockage fonctionne lentement.
Avec l'implémentation asynchrone, il n'est pas nécessaire d'attendre l'achèvement du DISCARD par l'unité de stockage pendant le fonctionnement normal du FS, ce qui élimine ce problème et fait de cette opération une tâche en arrière-plan. L'implémentation proposée inclut également certaines optimisations. Par exemple, elle attend un certain temps, considérant que le bloc pourrait bientôt être utilisé, rendant ainsi inutile l'exécution du DISCARD, et essaie également de combiner des régions avant l'exécution réelle du DISCARD dans le but de réduire le nombre total d'opérations.
Source : opennet.ru
