Još jedna značajka koja se planira poslati za nadolazeći prozor spajanja jezgre Linuxa 6.5 je uvođenje podrške za pružanje primitiva za tanko osiguranu pohranu s kodom Device Mapper (DM).
Ogranak stvoren tijekom vikenda bio je linux-dm.git dm-6.5-provision-support. S tim što je sada na grani označenoj za”6.5″, čini se da je spreman za slanje za nadolazeći prozor za spajanje Linuxa 6.5, zabranjujući da Linus Torvalds ili drugi programeri kernela postavljaju bilo kakva pitanja.
Na ovim primitivima za pružanje usluga radio je Googleov tim za Chrome OS. Sarthak Kukreti iz Googlea prethodno je objasnio ovu inicijativu u ranijim RFC zakrpama u pošti popis:
“Ova serija zakrpa je RFC mehanizma za prolazak kroz zahtjeve za raspodjelu na naslaganim tanko osiguranim uređajima za pohranu/datotečnim sustavima.
Linux kernel pruža nekoliko mehanizama za postavljanje tanko osiguranih blokovnih apstrakcija pohrane ( npr. dm-thin, uređaji u petlji preko rijetkih datoteka), bilo izravno kao blok uređaji ili rezervna pohrana za datotečne sustave. Trenutno, osim pisanja podataka na uređaj ili datotečni sustav, ne postoji način da korisnici unaprijed dodijele prostor za upotrebu u takvim postavkama pohrane. Razmotrite sljedeće slučajeve upotrebe:
![]()
1) Obustava na disk i nastavak s dm-thin uređaja: kako bi se osiguralo da se temeljni Thinpool metapodaci ne mijenjaju tijekom mehanizma obustave, dm-thin uređaj mora biti u potpunosti osiguran.
2) Ako datotečni sustav koristi uređaj petlje preko rijetke datoteke, fallocate() na datotečnom sustavu će dodijeliti blokove za datoteke, ali će temeljna rijetka datoteka ostati netaknuta.
3) Drugi primjer je virtualni stroj koji koristi sparse file/dm-thin kao uređaj za pohranu; prema zadanim postavkama, dodjele unutar granica VM-a neće utjecati na host.
4) Nekoliko standarda pohrane podržava mehanizme za tanko pružanje na stvarnim hardverskim uređajima. Na primjer:
a. NVMe specifikacija 1.0b odjeljak 2.1.1 labavo govori o tankom pružanju:”Kada je bit THINP u polju NSFEAT strukture podataka Identify Namespace postavljen na’1′, kontroler će… pratiti broj dodijeljenih blokova u polje Iskorištenje prostora imena”
b. Referenca SCSi blok naredbi-4 odjeljka referira na”Thin provisioned logical units”,
c. UFS 3.0 spec. odjeljak 13.3.3 referencira”Thin provisioning”.U svim gore navedenim situacijama, trenutno jedini način za pred-dodjelu prostora je izdavanje pisanja (ili korištenje WRITE_ZEROES/WRITE_SAME). Međutim, to se ne mjeri dobro s većim veličinama predraspodjele.
Ovaj set zakrpa uvodi primitive za podršku pružanja na razini bloka (napomena: izraz’opredjeljivanje’koristi se za sprječavanje preopterećenja izraza’dodjela/predalokacija’) zahtjeva preko datotečnih sustava i blok uređaja. Ovo omogućuje fallocate() i zahtjevima za kreiranje datoteke da rezerviraju prostor na naslaganim slojevima blok uređaja i datotečnih sustava. Trenutačno skup zakrpa pokriva prototip na ciljevima uređaja za mapiranje, uređaju u petlji i ext4, ali isti mehanizam može se proširiti na druge datotečne sustave/blok uređaje, kao i proširiti za upotrebu s uređajima u 4 a-c.”
Zakrpa koja uvodi zahtjev REQ_OP_PROVISION jednostavno sažima ovo pružanje kao:
“Uvedite zahtjev za blokiranje REQ_OP_PROVISION. Namjera ovog zahtjeva je zatražiti temeljnu pohranu za predodređivanje prostora na disku za dani raspon blokova. Blokirani uređaji koji podržavaju ovu mogućnost izvest će ograničenje odredbe unutar svojih redova zahtjeva.
Ova zakrpa također dodaje mogućnost pozivanja fallocate() u načinu rada 0 na blok uređajima, koji će poslati REQ_OP_PROVISION na blok uređaj za navedeni raspon,”
Ove primitive za blokiranje na radu se radi nekoliko mjeseci i uspješno je testiran na OS-u Chrome i uzlaznoj jezgri Linuxa. Promjene bloka i DM-a oko REQ_OP_PROVISION kao i podrška za povratni uređaj za to sada su spremni da se pojave u Linuxu 6.5.
Očekuje se da će prozor spajanja Linuxa 6.5 započeti sljedeći tjedan ako se stabilna verzija Linuxa 6.4 ne odgodi za još tjedan dana. Stabilna verzija Linuxa 6.5 trebala bi debitirati krajem kolovoza.