Per il file system btrfs implementazione asincrona dell'operazione DISCARD (segnalazione dei blocchi liberati che possono già non essere conservati fisicamente), realizzata dagli ingegneri della società Facebook.
La questione è che nell'implementazione originale, DISCARD viene eseguito in modo sincrono con le altre operazioni, il che in alcuni casi porta a problemi di prestazioni, poiché bisogna attendere il completamento dei comandi corrispondenti da parte dei dispositivi di archiviazione, il che richiede tempo aggiuntivo. Ciò può diventare problematico nel caso in cui l'implementazione del DISCARD sul dispositivo operi lentamente.
Con l'implementazione asincrona, non è necessario attendere il completamento del DISCARD da parte del dispositivo durante il normale funzionamento del file system, il che elimina il problema, portando questa operazione nella categoria delle operazioni in background. L'implementazione presentata esegue anche alcune ottimizzazioni. Ad esempio, attende un certo periodo di tempo, considerando che il blocco potrebbe essere utilizzato di nuovo a breve, rendendo così inutile l'esecuzione della procedura DISCARD, e cerca di unire le aree prima dell'esecuzione effettiva del DISCARD al fine di ridurre il numero totale di operazioni.
Fonte: opennet.ru
