Tidak terasa sudah lima tahun sejak Huawei mengumumkan EROFS sebagai sistem file read-only yang awalnya dirancang untuk perangkat Android tetapi telah terbukti berguna di kernel Linux arus utama untuk pengguna Linux pada umumnya dengan kasus penggunaan yang menarik juga datang di sekitar kontainer dan banyak lagi. Dengan kernel Linux 6.4 yang sedang dikembangkan, ada lebih banyak perbaikan pada sistem file hanya-baca ini.

EROFS dengan Linux 6.4 mendapatkan dukungan untuk dukungan blok subhalaman yang sangat berguna di ruang AArch64 di mana halaman yang lebih besar bisa lebih umum. EROFS Linux 6.4 juga menambahkan fungsionalitas awalan nama xattr panjang. Ada juga dukungan untuk perangkat blok yang diratakan untuk gambar multi-blob yang akan dilampirkan ke mesin virtual.

permintaan penarikan yang telah digabungkan dari Gao Xiang menjelaskan:

Dalam siklus ini, tersedia dukungan blok subhalaman untuk file yang tidak dikompresi. Ini terutama digunakan untuk mengaktifkan gambar blok 4k emas di arm64 dengan 16/64k halaman. Selain itu, pengguna akhir juga dapat menggunakan fitur ini untuk membuat manifes yang merujuk langsung ke data golden tar.

Selain itu, dukungan awalan nama xattr panjang juga diperkenalkan dalam siklus ini untuk menghindari terlalu banyak xattr dengan awalan yang sama (mis. overlayfs xattrs). Ini berguna untuk kombinasi erofs + overlayfs (seperti model Composefs): ukuran gambar berkurang ~14% dan kinerja runtime juga sedikit meningkat.

Untuk kode awalan nama xattr panjang, Jingbo Xu dari Alibaba menjelaskan di seri patch:

overlayfs menggunakan xattrs untuk menyimpan metadatanya sendiri. Jika xattr seperti itu banyak digunakan, seperti model Composef [1], sejumlah besar xattr dengan beragam nilai xattr ada tetapi hanya beberapa nama umum xattr yang valid (trusted.overlay.redirect, trusted.overlay.digest, dan mungkin lebih banyak lagi di masa depan).

Mari perkenalkan prefiks nama xattr panjang sekarang untuk memperbaikinya. Mereka bekerja sama seperti awalan nama yang telah ditentukan sebelumnya, kecuali bahwa awalan nama xattr panjang ditentukan oleh pengguna.

Saat prefiks nama xattr panjang digunakan, prefiks long xattr bersama disimpan dalam inode terpaket atau meta, sedangkan bagian yang tertinggal dari nama xattr selain prefiks nama xattr panjang akan disimpan dalam erofs_xattr_entry.e_name. e_name kosong jika nama xattr sama persis dengan awalan nama xattr panjang.

Categories: IT Info