PuzzleFS ialah sistem fail kontena generasi akan datang untuk Linux dengan pembinaan imej pantas, sokongan pemasangan terus dan ciri dioptimumkan kontena lain yang sedang diusahakan oleh jurutera Cisco. Dan ia ditulis dalam Rust.

Ariel Miculas dari Cisco hari ini menyiarkan siri tampalan”permintaan untuk komen”awal pada sistem fail PuzzleFS ini dengan pemacu kernel ditulis dalam Rust. Buat masa ini pemandu Rust ini dianggap bukti konsep. Siri tampalan seterusnya menerangkan PuzzleFS sebagai:

Puzzlefs ialah sistem fail kontena yang direka untuk menangani had format OCI sedia ada. Matlamat utama projek ini adalah pengurangan pertindihan, binaan imej yang boleh dihasilkan semula, sokongan pelekap langsung dan jaminan keselamatan memori, beberapa diilhamkan oleh dokumen reka bentuk OCIv2.

Penduaan yang dikurangkan dicapai menggunakan algoritma chunking yang ditentukan kandungan FastCDC. Pelaksanaan ini membolehkan ketulan dikongsi antara lapisan. Membina lapisan baharu bermula daripada lapisan sedia ada membolehkan penggunaan semula kebanyakan ketulan.

Satu lagi matlamat projek ialah binaan imej yang boleh dihasilkan semula, yang dicapai dengan mentakrifkan perwakilan kanonik bagi format imej.

Sokongan pemasangan langsung ialah ciri utama puzzlefs dan, bersama dengan fs-verity, ia menyediakan integriti data. Pada masa ini, puzzlefs dilaksanakan sebagai sistem fail ruang pengguna (FUSE). Pemacu sistem fail kernel baca sahaja sedang dijalankan.

Akhir sekali, keselamatan ingatan adalah penting untuk puzzlefs, yang membawa kepada keputusan untuk melaksanakannya dalam Rust. Matlamat lain adalah untuk berkongsi kod yang sama antara ruang pengguna dan ruang kernel untuk menyediakan satu pelaksanaan yang selamat.

Kerja yang menarik dan ini akan menjadi pemacu kernel sistem fail Rust penting yang pertama disiarkan. untuk kerja berterusan memperkenalkan sokongan Rust ke dalam kernel Linux talian utama.
Siri tampung RFC untuk pemacu PuzzleFS berkod Rust boleh didapati di senarai mel kernel. Kod PuzzleFS juga boleh didapati di GitHub.

Categories: IT Info