PuzzleFS adalah sistem file wadah generasi berikutnya untuk Linux dengan pembuatan gambar cepat, dukungan pemasangan langsung, dan fitur-fitur lain yang dioptimalkan untuk wadah sedang dikerjakan oleh para insinyur Cisco. Dan itu ditulis dalam Rust.
Ariel Miculas dari Cisco hari ini memposting seri tambalan”permintaan komentar”awal pada sistem file PuzzleFS ini dengan driver kernel yang ditulis dalam Rust. Untuk saat ini driver Rust ini dianggap sebagai proof-of-concept. Seri tambalan selanjutnya menjelaskan PuzzleFS sebagai:
Puzzlefs adalah sistem file kontainer yang dirancang untuk mengatasi keterbatasan format OCI yang ada. Tujuan utama dari proyek ini adalah pengurangan duplikasi, pembuatan gambar yang dapat direproduksi, dukungan pemasangan langsung, dan jaminan keamanan memori, beberapa terinspirasi oleh dokumen desain OCIv2.
Pengurangan duplikasi dicapai dengan menggunakan algoritme pemotongan konten yang ditentukan, FastCDC. Implementasi ini memungkinkan potongan untuk dibagikan di antara lapisan. Membangun layer baru mulai dari yang sudah ada memungkinkan penggunaan kembali sebagian besar bongkahan.
Tujuan lain dari proyek ini adalah pembuatan gambar yang dapat direproduksi, yang dicapai dengan menentukan representasi kanonis dari format gambar.
Dukungan pemasangan langsung adalah fitur utama puzzlefs dan, bersama dengan fs-verity, menyediakan integritas data. Saat ini, puzzlefs diimplementasikan sebagai sistem file userspace (FUSE). Driver sistem file kernel read-only sedang berlangsung.
Terakhir, keamanan memori sangat penting untuk teka-teki, yang mengarah pada keputusan untuk mengimplementasikannya di Rust. Tujuan lainnya adalah untuk berbagi kode yang sama antara ruang pengguna dan ruang kernel untuk menyediakan satu implementasi yang aman.
Pekerjaan yang menarik dan ini akan menjadi driver kernel sistem file Rust signifikan pertama yang diposting belum untuk pekerjaan yang sedang berlangsung dalam memperkenalkan dukungan Rust ke dalam kernel Linux jalur utama.
Seri patch RFC untuk driver PuzzleFS berkode Rust dapat ditemukan di milis kernel. Kode PuzzleFS juga dapat ditemukan di GitHub.