Kernel Linux untuk sistem file Ext4 menyertakan dukungan untuk operasi peka huruf besar-kecil

Ted Ts'o, penulis sistem file ext2/ext3/ext4, diterima ke cabang Linux-next, yang menjadi dasar rilis kernel Linux 5.2 akan dibentuk, satu set perubahan, menerapkan dukungan untuk operasi peka huruf besar-kecil di sistem file Ext4. Tambalan tersebut juga menambahkan dukungan untuk karakter UTF-8 dalam nama file.

Mode operasi peka huruf besar-kecil diaktifkan secara opsional dalam kaitannya dengan masing-masing direktori menggunakan atribut baru β€œ+F” (EXT4_CASEFOLD_FL). Ketika atribut ini disetel pada direktori, semua operasi dengan file dan subdirektori di dalamnya akan dilakukan tanpa memperhitungkan huruf besar-kecil, termasuk huruf besar-kecil akan diabaikan saat mencari dan membuka file (misalnya, file Test.txt, test.txt dan test.TXT di direktori tersebut akan dianggap sama). Secara default, dengan pengecualian direktori dengan atribut β€œ+F”, sistem file tetap peka huruf besar-kecil. Untuk mengontrol penyertaan mode peka huruf besar-kecil, serangkaian utilitas yang dimodifikasi ditawarkan e2fsprogs.dll.

Tambalan tersebut disiapkan oleh Gabriel Krisman Bertazi, seorang karyawan Collabora, dan diterima bersama ketujuh upaya setelahnya tiga tahun pengembangan dan penghapusan komentar. Implementasinya tidak melakukan perubahan pada format penyimpanan disk dan hanya bekerja pada level mengubah logika perbandingan nama pada fungsi ext4_lookup() dan mengganti hash pada struktur dcache (Directory Name Lookup Cache). Nilai atribut "+F" disimpan dalam inode masing-masing direktori dan disebarkan ke semua subfile dan subdirektori. Informasi pengkodean disimpan di superblock.

Untuk menghindari tabrakan dengan nama file yang ada, atribut β€œ+F” hanya dapat disetel pada direktori kosong di sistem file di mana dukungan Unicode dalam nama file dan direktori diaktifkan pada tahap pemasangan. Nama elemen direktori yang atribut β€œ+F” diaktifkan secara otomatis dikonversi ke huruf kecil dan tercermin dalam bentuk ini di dcache, tetapi disimpan pada disk dalam bentuk yang awalnya ditentukan oleh pengguna, yaitu. Meskipun pemrosesan nama apa pun huruf besarnya, nama ditampilkan dan disimpan tanpa kehilangan informasi tentang huruf besar-kecil (tetapi sistem tidak akan mengizinkan Anda membuat nama file dengan karakter yang sama, tetapi dalam huruf besar/kecil).

Sumber: opennet.ru

Tambah komentar