btrfs-tiedostojärjestelmälle Facebookin insinöörien toteuttama DISCARD-operaation asynkroninen toteutus (vapautettujen lohkojen merkitseminen, joita ei enää voida fyysisesti tallentaa).
Ongelma: alkuperäisessä toteutuksessa DISCARD suoritetaan synkronisesti muiden toimintojen kanssa, mikä joissakin tapauksissa johtaa suorituskykyongelmiin, koska sen on odotettava, että asemat suorittavat vastaavat komennot, mikä vaatii lisäaikaa. Tästä voi tulla ongelma, jos aseman DISCARD-toteutus on hidas.
Asynkronisessa toteutuksessa ei tarvitse odottaa levyn suorittavan DISCARD-komentoa normaalin tiedostojärjestelmän toiminnan aikana, mikä poistaa ongelman siirtämällä tämän toiminnon taustaprosessiin. Esitelty toteutus tekee myös joitakin optimointeja. Se esimerkiksi odottaa tietyn ajan ottaen huomioon, että lohkoa saatetaan pian käyttää, mikä tekee DISCARD-komennosta tarpeettoman. Se myös yrittää yhdistää alueet ennen varsinaisen DISCARD-komennon suorittamista, mikä vähentää toimintojen kokonaismäärää.
Lähde: opennet.ru
