Flatpakin luoja ja Red Hatin työntekijä Alexander Larsson on julkaissut alustavan korjauspäivityksen ytimen Composefs-tiedostojärjestelmälle. LinuxEhdotettu tiedostojärjestelmä on samankaltainen kuin Squashfs ja soveltuu myös kuvien liittämiseen vain luku -tilassa. Erot ovat Composefsin kyvyssä tallentaa tehokkaasti useiden liitettyjen levykuvien sisältö yhteen ja tukea lukutietojen todennusta. Sovelluksia, joissa Composefs voi olla hyödyllinen, ovat säilökuvien liittäminen ja sen käyttö Gitin kaltaisessa OSTree-arkistossa.
Composefs käyttää sisältöön perustuvaa tallennusmallia, mikä tarkoittaa, että ensisijainen tunniste ei ole tiedostonimi, vaan tiedoston sisällön hajautusarvo. Tämä malli mahdollistaa deduplikaation ja tallentaa tehokkaasti vain yhden kopion identtisistä tiedostoista eri asennettuihin osioihin. Esimerkiksi säilökuvat sisältävät useita yhteisiä järjestelmätiedostoja, ja Composefsin avulla jokainen näistä tiedostoista jaetaan kaikkien asennettujen kuvien välillä ilman kovan linkityksen kaltaisia temppuja. Lisäksi jaetut tiedostot eivät tallennu vain yhtenä kopiona levylle, vaan ne vaativat myös yhden merkinnän sivun välimuistiin, mikä säästää sekä levytilaa että RAM-muistia.
Levytilan säästämiseksi tiedot ja metatiedot erotellaan liitettyjen levykuvien sisällä. Liitettäessä on seuraavat tiedot määritetty:
- Binääri-indeksi, joka sisältää kaikki tiedostojärjestelmän metatiedot, tiedostonimet, käyttöoikeudet ja muut tiedot lukuun ottamatta varsinaista tiedostosisältöä.
- Perushakemisto, joka tallentaa kaikkien liitettyjen kuvien tiedostosisällön. Tiedostot tallennetaan suhteessa niiden sisällön hajautusarvoon.
Jokaiselle tiedostojärjestelmän levykuvalle luodaan binääri-indeksi, ja perushakemisto jaetaan kaikkien levykuvien kesken. Yksittäisten tiedostojen ja koko jaetun tallennustilan levykuvan sisällön tarkistamiseen voidaan käyttää fs-verity-mekanismia. Tiedostoja käytettäessä se tarkistaa, vastaavatko binääri-indeksissä määritetyt tiivisteet todellista sisältöä (eli jos hyökkääjä muokkaa tiedostoa perushakemistossa tai tiedot vioittuvat kaatumisen seurauksena, tämä tarkistus paljastaa ristiriidan).
Lähde: opennet.ru
