Alexander Larsson, Flatpaki looja, kes töötab ettevõttes Red Hat, esitas Linuxi kärude esialgse variantide komplekti, milles on rakendatud failisüsteem Composefs. Pakutud failisüsteem sarnaneb Squashfs-iga ja sobib samuti pildifailide mountimiseks ainult lugemisrežiimis. Erinevused seisnevad Composefsi efektiivses jagamises mitme kinnitatud ketta pildi sisu ning toetuses lugemisandmete autentimisele. Kasutusaladeks, kus Composefs võib olla nõutud, on konteinerite piltide mountimine ja Git-taolise OSTree hoidla rakendamine.
Composefs-is kasutatakse sisu adresseerimise salvestusmudelit, st esmane tunnusnumber ei ole faili nimi, vaid faili sisu põhjal saadud räsifunktsioon. Selline mudel tagab deduplikatsiooni ja võimaldab faktiliselt salvestada vaid ühe koopia sarnastest failidest, mis esinevad erinevates mountitud osades. Näiteks konteineripildid sisaldavad palju tüüpilisi süsteemifaile ja Composefsi rakendamisel jagatakse igaüks neist failidest kõigi mountitud piltidega, ilma et kasutataks trikke, nagu kõvade linkide abil edastamine. Samuti ei salvestata ühised failid mitte ainult ühes koopias kettale, vaid need toovad kaasa ka ühe kirje lehe vahemälus, võimaldades säästa nii ketta- kui ka töömälu.
Ketta mälu säästmiseks on mountitud piltides andmed ja metaandmed eraldatud. Mountimisel näidatakse:
- Binaarne indeks, mis sisaldab kõiki failisüsteemi metaandmeid, failide nimesid, juurdepääsuõigusi ja muid andmeid, välja arvatud failide sisu.
- Põhikaust, kus hoitakse kõigi mountitud piltide failide sisu. Failid on seotud nende sisu räsifunktsiooniga.
Binaarne indeks luuakse iga failisüsteemi pildi jaoks, samas kui alakaust on kõigi piltide jaoks ühine. Üksikute failide sisu ja kogu pildi verifitseerimiseks jagatud salvestusruumis võib kasutada mehhanismi fs-verity, mis kontrollib failide juurde pääsemisel, kas binaarindeksi määratud räsi vastab tegelikule sisule (st kui häkker muudab faili alakaustas või andmed riknevad tõrke tõttu, tuvastab selline kontroll lahknevuse).
Allikas: opennet.ru
