За файловата система btrfs асинхронна реализация на операцията DISCARD (маркиране на освободените блокове, които вече не е необходимо да се съхраняват физически), реализирана от инженери на компанията Facebook.
Същността на проблема: в първоначалната реализация DISCARD се изпълнява синхронно с другите операции, което в редица случаи води до проблеми с производителността, тъй като се налага да се изчака завършването на съответните команди от страна на носителите, което изисква допълнително време. Това може да стане проблем, ако реализацията DISCARD на носителя работи бавно.
При асинхронната реализация не е необходимо да чакаме завършването на DISCARD от носителя по време на обичайната работа на файловата система, което премахва проблема, превръщайки тази операция в фонов процес. Представената реализация също така извършва някои оптимизации. Например, тя изчаква известно време в случай, че блокът може да бъде използван скоро, така че въобще да няма смисъл от извършването на процедурата DISCARD, и освен това се опитва да обединява региони преди действителното изпълнение на DISCARD с цел намаляване на общия брой операции.
Източник: opennet.ru
