Fitur lain yang dijadwalkan akan dikirim untuk jendela penggabungan kernel Linux 6.5 yang akan datang adalah memperkenalkan dukungan untuk penyediaan primitif untuk penyimpanan yang disediakan secara tipis dengan kode Device Mapper (DM).
Cabang yang dibuat selama akhir pekan adalah dm-6.5-provision-support untuk linux-dm.git. Dengan itu sekarang di cabang yang ditandai untuk”6.5″, tampaknya diposisikan untuk dikirim untuk jendela penggabungan Linux 6.5 mendatang yang mencegah masalah apa pun yang diangkat oleh Linus Torvalds atau pengembang kernel lainnya.
Primitif penyediaan ini dikerjakan oleh tim Google Chrome OS. Sarthak Kukreti dari Google sebelumnya menjelaskan inisiatif ini di patch RFC sebelumnya di surat list:
“Seri tambalan ini adalah RFC dari mekanisme untuk melewati permintaan penyediaan pada perangkat penyimpanan/sistem file yang disediakan secara tipis.
Kernel linux menyediakan beberapa mekanisme untuk menyiapkan abstraksi penyimpanan blok yang disediakan secara tipis ( mis. dm-thin, perulangan perangkat di atas file jarang), baik secara langsung sebagai perangkat blok atau mendukung penyimpanan untuk sistem file. Saat ini, kekurangan menulis data ke perangkat atau sistem file, tidak ada cara bagi pengguna untuk mengalokasikan ruang untuk digunakan dalam penyiapan penyimpanan tersebut. Pertimbangkan kasus penggunaan berikut:
![]()
1) Tangguhkan ke disk dan lanjutkan dari perangkat dm-thin: Untuk memastikan bahwa metadata thinpool yang mendasarinya tidak diubah selama mekanisme penangguhan, perangkat dm-thin perlu disediakan sepenuhnya.
2) Jika sistem file menggunakan perangkat loop di atas file jarang, fallocate() pada sistem file akan mengalokasikan blok untuk file tetapi file jarang yang mendasarinya akan tetap utuh.
3) Contoh lain adalah mesin virtual menggunakan file jarang/dm-thin sebagai perangkat penyimpanan; secara default, alokasi dalam batasan VM tidak akan memengaruhi host.
4) Beberapa standar penyimpanan mendukung mekanisme untuk penyediaan tipis pada perangkat keras nyata. Misalnya:
a. NVMe spec 1.0b bagian 2.1.1 secara longgar berbicara tentang penyediaan tipis:”Ketika bit THINP di bidang NSFEAT dari struktur data Identifikasi Namespace diatur ke’1′, pengontrol… akan melacak jumlah blok yang dialokasikan di bidang Pemanfaatan Namespace”
b. Referensi Perintah Blok SCSI-4 referensi bagian”Unit logis yang disediakan tipis”,
c. Bagian spesifikasi UFS 3.0 13.3.3 merujuk”Thin provisioning”.Dalam semua situasi di atas, saat ini satu-satunya cara untuk pra-alokasi ruang adalah dengan menerbitkan penulisan (atau gunakan WRITE_ZEROES/WRITE_SAME). Namun, itu tidak berskala baik dengan ukuran pra-alokasi yang lebih besar.
Patchset ini memperkenalkan primitif untuk mendukung penyediaan tingkat blok (catatan: istilah’penyediaan’digunakan untuk mencegah kelebihan permintaan istilah’alokasi/pra-alokasi’) di seluruh sistem file dan perangkat blok. Ini memungkinkan fallocate() dan permintaan pembuatan file untuk memesan ruang di seluruh lapisan perangkat blok dan sistem file yang ditumpuk. Saat ini, patchset mencakup prototipe pada target pemetaan perangkat, perangkat loop, dan ext4, tetapi mekanisme yang sama dapat diperluas ke sistem file/perangkat blok lain serta diperluas untuk digunakan dengan perangkat di 4 a-c.”
Patch yang memperkenalkan permintaan REQ_OP_PROVISION meringkas penyediaan ini sebagai:
“Introduce block request REQ_OP_PROVISION. Maksud dari permintaan ini adalah meminta penyimpanan dasar untuk mengalokasikan ruang disk terlebih dahulu untuk rentang blok yang diberikan. Blokir perangkat yang mendukung kemampuan ini akan mengekspor batas ketentuan dalam antrean permintaan mereka.
Patch ini juga menambahkan kemampuan untuk memanggil fallocate() dalam mode 0 pada perangkat blok, yang akan mengirimkan REQ_OP_PROVISION ke perangkat blok untuk rentang yang ditentukan,”
Blok ini menyediakan primitif pekerjaan telah dikerjakan selama beberapa bulan dan berhasil diuji pada Chrome OS dan terhadap kernel Linux upstream. Perubahan blokir dan DM di sekitar REQ_OP_PROVISION serta dukungan perangkat loopback untuknya sekarang siap untuk muncul di Linux 6.5.
Jendela penggabungan Linux 6.5 diharapkan akan dimulai minggu depan jika rilis stabil Linux 6.4 tidak ditunda satu minggu lagi. Sebaliknya, Linux 6.5 stable akan diluncurkan sekitar akhir Agustus.