Satu lagi ciri yang dijadualkan untuk dihantar untuk tetingkap gabungan kernel Linux 6.5 yang akan datang ialah memperkenalkan sokongan untuk memperuntukkan primitif untuk storan yang diperuntukkan secara nipis dengan kod Device Mapper (DM).

Cawangan yang dibuat pada hujung minggu ialah linux-dm.git’s dm-6.5-provision-support. Dengan ia kini pada cawangan yang ditandakan untuk”6.5″, nampaknya diletakkan pada kedudukan untuk dihantar untuk tetingkap gabungan Linux 6.5 yang akan datang menghalang sebarang isu daripada dibangkitkan oleh Linus Torvalds atau pembangun kernel lain.

Peruntukan primitif ini telah diusahakan oleh pasukan OS Chrome Google. Sarthak Kukreti dari Google sebelum ini menerangkan inisiatif ini dalam tampung RFC yang terdahulu pada mel senarai:

“Siri tampalan ini ialah RFC mekanisme untuk melalui permintaan peruntukan pada peranti storan/sistem fail yang diperuntukkan nipis yang disusun.

Inti linux menyediakan beberapa mekanisme untuk menyediakan abstraksi storan blok yang diperuntukkan secara nipis ( cth. dm-nipis, peranti gelung pada fail yang jarang), sama ada secara langsung sebagai peranti sekat atau storan sokongan untuk sistem fail. Pada masa ini, kekurangan menulis data sama ada pada peranti atau sistem fail, tidak ada cara untuk pengguna untuk pra-peruntukkan ruang untuk digunakan dalam persediaan storan sedemikian. Pertimbangkan kes penggunaan berikut:

1) Gantung-ke-cakera dan sambung semula daripada peranti dm-thin: Untuk memastikan metadata thinpool yang mendasari tidak diubah suai semasa mekanisme penggantungan, peranti dm-thin perlu diperuntukkan sepenuhnya.
2) Jika sistem fail menggunakan peranti gelung pada fail yang jarang, fallocate() pada sistem fail akan memperuntukkan blok untuk fail tetapi fail asas yang jarang akan kekal utuh.
3) Contoh lain ialah mesin maya menggunakan fail jarang/dm-nipis sebagai peranti storan; secara lalai, peruntukan dalam sempadan VM tidak akan menjejaskan hos.
4) Beberapa standard storan menyokong mekanisme untuk peruntukan nipis pada peranti perkakasan sebenar. Contohnya:
a. NVMe spec 1.0b bahagian 2.1.1 secara longgar bercakap tentang peruntukan nipis:”Apabila bit THINP dalam medan NSFEAT bagi struktur data Identify Namespace ditetapkan kepada’1′, pengawal… hendaklah menjejaki bilangan blok yang diperuntukkan dalam medan Penggunaan Ruang Nama”
b. Rujukan Perintah Blok SCSi-4 rujukan bahagian”Unit logik yang diperuntukkan nipis”,
c. Bahagian spesifikasi UFS 3.0 13.3.3 merujuk”Peruntukan nipis”.

Dalam semua situasi di atas, pada masa ini satu-satunya cara untuk pra-peruntukkan ruang adalah dengan mengeluarkan tulisan (atau gunakan WRITE_ZEROES/WRITE_SAME). Walau bagaimanapun, itu tidak berskala baik dengan saiz pra-peruntukan yang lebih besar.

Patchset ini memperkenalkan primitif untuk menyokong peruntukan peringkat blok (nota: istilah’peruntukan’digunakan untuk mengelakkan lebihan memuatkan permintaan istilah’peruntukan/pra-peruntukan’) merentas sistem fail dan peranti blok. Ini membenarkan fallocate() dan permintaan penciptaan fail untuk menempah ruang merentas lapisan bertindan peranti blok dan sistem fail. Pada masa ini, patchset merangkumi prototaip pada sasaran pemeta peranti, peranti gelung dan ext4, tetapi mekanisme yang sama boleh dilanjutkan ke sistem fail/peranti blok lain serta dilanjutkan untuk digunakan dengan peranti dalam 4 a-c.”

Tampalan yang memperkenalkan permintaan REQ_OP_PROVISION hanya meringkaskan peruntukan ini sebagai:

“Perkenalkan permintaan blok REQ_OP_PROVISION. Tujuan permintaan ini adalah untuk meminta storan asas untuk memperuntukkan ruang cakera untuk julat blok yang diberikan. Sekat peranti yang menyokong keupayaan ini akan mengeksport had peruntukan dalam baris gilir permintaan mereka.

Tampalan ini juga menambahkan keupayaan untuk memanggil fallocate() dalam mod 0 pada peranti blok, yang akan menghantar REQ_OP_PROVISION kepada peranti blok untuk julat yang ditentukan,”

Peruntukan blok ini primitif kerja telah diusahakan selama beberapa bulan dan berjaya diuji pada OS Chrome dan terhadap kernel Linux huluan. Blok dan DM berubah sekitar REQ_OP_PROVISION serta sokongan peranti gelung balik untuknya kini bersedia untuk muncul dalam Linux 6.5.

Tetingkap gabungan Linux 6.5 dijangka akan bermula minggu depan jika keluaran stabil Linux 6.4 tidak ditarik balik dalam seminggu tambahan. Linux 6.5 stabil pula akan muncul pada penghujung bulan Ogos.

Categories: IT Info