Další funkcí, která má být odeslána pro nadcházející okno začleňování jádra Linuxu 6.5, je zavedení podpory pro zřizování primitiv pro úložiště s tenkým zřízením pomocí kódu Device Mapper (DM).

Pobočka vytvořená o víkendu byla podpora dm-6.5-provision-support pro linux-dm.git. Když je nyní na větvi označené jako”6.5″, zdá se, že je umístěno tak, aby bylo odesláno pro nadcházející začleňovací okno Linuxu 6.5, které zabrání tomu, aby Linus Torvalds nebo jiní vývojáři jádra vznesli jakékoli problémy.

Na těchto zřizovacích primitivech pracoval tým Google pro Chrome OS. Sarthak Kukreti ze společnosti Google dříve vysvětlil tuto iniciativu v dřívějších záplatách RFC v e-mailu seznam:

“Tato série patchů je RFC mechanismu pro předávání požadavků na poskytování na naskládaných tence zajišťovaných úložných zařízeních/systémech souborů.

Linuxové jádro poskytuje několik mechanismů pro nastavení abstrakce blokového úložiště s tenkým zajišťováním ( např. dm-thin, smyčková zařízení přes řídké soubory), buď přímo jako bloková zařízení, nebo záložní úložiště pro souborové systémy. v takových nastaveních úložiště. Zvažte následující případy použití:

1) Uspání na disk a obnovení ze zařízení dm-thin: Aby bylo zajištěno, že se základní metadata tenkého fondu během mechanismu pozastavení nezmění, musí být zařízení dm-thin plně zřízeno.
2) Pokud souborový systém používá smyčkové zařízení přes řídký soubor, fallocate() na souborovém systému alokuje bloky pro soubory, ale základní řídký soubor zůstane nedotčen.
3) Dalším příkladem je virtuální stroj využívající jako úložné zařízení řídký soubor/dm-thin; ve výchozím nastavení neovlivní alokace v rámci hranic virtuálního počítače hostitele.
4) Několik standardů úložiště podporuje mechanismy pro tenké poskytování na skutečných hardwarových zařízeních. Například:
a. Specifikace NVMe 1.0b sekce 2.1.1 volně hovoří o tenkém zajišťování: „Když je bit THINP v poli NSFEAT datové struktury Identify Namespace nastaven na „1“, řadič… bude sledovat počet přidělených bloků v pole Využití jmenného prostoru”
b. Odkaz na příkazy bloku SCSi – 4 sekce odkazuje na „tenké zajišťované logické jednotky“,
c. UFS 3.0 spec sekce 13.3.3 odkazuje na „Tenké poskytování“.

Ve všech výše uvedených situacích je v současnosti jediným způsobem předběžného přidělení místa zadávání zápisů (nebo použití WRITE_ZEROES/WRITE_SAME). To však není vhodné s většími velikostmi před alokací.

Tato sada patchů zavádí primitiva pro podporu zřizování na úrovni bloků (poznámka: termín’provisioning’se používá k zabránění přetížení termínu’allocations/pre-allocations’) požadavků napříč souborovými systémy a blokovými zařízeními. To umožňuje fallocate() a požadavky na vytváření souborů, aby si vyhradily prostor napříč naskládanými vrstvami blokových zařízení a souborových systémů. V současné době sada patchů pokrývá prototyp na cílech mapovače zařízení, smyčkovém zařízení a ext4, ale stejný mechanismus lze rozšířit na další souborové systémy/bloková zařízení a také pro použití se zařízeními ve 4 a-c.”

Oprava zavádějící požadavek REQ_OP_PROVISION jednoduše shrnuje toto zajišťování jako:

“Zavést požadavek na blok REQ_OP_PROVISION. Záměrem tohoto požadavku je požádat základní úložiště o předběžné přidělení místa na disku pro daný rozsah bloků. Bloková zařízení, která tuto funkci podporují, budou exportovat limit poskytování v rámci svých front požadavků.

Tento patch také přidává možnost volat fallocate() v režimu 0 na blokových zařízeních, což odešle REQ_OP_PROVISION blokovému zařízení pro zadaný rozsah,”

Tato primitiva zřizování bloků na práci se pracovalo několik měsíců a bylo úspěšně testováno na Chrome OS a proti upstream linuxovému jádru. Změny bloku a DM kolem REQ_OP_PROVISION a také podpora zařízení se zpětnou smyčkou se nyní objeví v Linuxu 6.5.

Očekává se, že začleňovací okno Linuxu 6.5 začne příští týden, pokud nebude stabilní vydání Linuxu 6.4 posunuto o týden zpět. Stabilní Linux 6.5 by měl být uveden na trh koncem srpna.

Categories: IT Info