Pentru sistemul de fișiere btrfs implementarea asincronă a operației DISCARD (marcarea blocurilor eliberate care nu mai pot fi stocate fizic), realizată de inginerii companiei Facebook.
Problema constă în faptul că în implementarea inițială, DISCARD se execută sincron cu celelalte operații, ceea ce, în anumite cazuri, duce la probleme de performanță, deoarece trebuie să aștepte finalizarea comenzilor corespunzătoare ale unității de stocare, ceea ce necesită timp suplimentar. Acest lucru poate deveni o problemă dacă implementarea DISCARD a unității de stocare funcționează lent.
În cazul unei implementări asincrone, nu este necesar să se aștepte finalizarea DISCARD de către unitatea de stocare în timpul funcționării normale a FS, ceea ce elimină problema, transformând această operație în una de fundal. Implementarea prezentată efectuează, de asemenea, unele optimizări. De exemplu, așteaptă o anumită perioadă de timp, luând în considerare că blocul va fi utilizat în curând, astfel încât să nu aibă sens să se efectueze procedura DISCARD, și încearcă să combine regiunile înainte de a efectua efectiv DISCARD pentru a reduce numărul total de operații.
Sursa: opennet.ro
