Nhân Linux cho hệ thống tệp Ext4 bao gồm hỗ trợ cho hoạt động không phân biệt chữ hoa chữ thường

Ted Ts'o, tác giả của hệ thống tập tin ext2/ext3/ext4, Đã được chấp nhận sang nhánh Linux-next, trên cơ sở đó việc phát hành nhân Linux 5.2 sẽ được hình thành, một bộ thay đổi, triển khai hỗ trợ cho các hoạt động không phân biệt chữ hoa chữ thường trong hệ thống tệp Ext4. Các bản vá cũng bổ sung hỗ trợ cho các ký tự UTF-8 trong tên tệp.

Chế độ vận hành không phân biệt chữ hoa chữ thường được bật tùy chọn liên quan đến từng thư mục bằng cách sử dụng thuộc tính mới “+F” (EXT4_CASEFOLD_FL). Khi đặt thuộc tính này trên một thư mục, mọi thao tác với file và thư mục con bên trong sẽ được thực hiện mà không tính đến kiểu chữ, kể cả kiểu chữ sẽ bị bỏ qua khi tìm kiếm và mở file (ví dụ file Test.txt, test.txt và test.TXT trong các thư mục đó sẽ được coi là giống nhau). Theo mặc định, ngoại trừ các thư mục có thuộc tính “+F”, hệ thống tệp tiếp tục phân biệt chữ hoa chữ thường. Để kiểm soát việc đưa vào chế độ không phân biệt chữ hoa chữ thường, một bộ tiện ích đã sửa đổi được cung cấp e2fsprogs.

Các bản vá được chuẩn bị bởi Gabriel Krisman Bertazi, một nhân viên của Collabora và được chấp nhận thứ bảy cố gắng sau ba năm phát triển và loại bỏ các ý kiến. Việc triển khai không thực hiện thay đổi đối với định dạng lưu trữ đĩa và chỉ hoạt động ở mức thay đổi logic so sánh tên trong hàm ext4_lookup() và thay thế hàm băm trong cấu trúc dcache (Bộ nhớ đệm tra cứu tên thư mục). Giá trị của thuộc tính "+F" được lưu trữ trong inode của các thư mục riêng lẻ và được truyền tới tất cả các tệp con và thư mục con. Thông tin mã hóa được lưu trữ trong một siêu khối.

Để tránh xung đột với tên của các tệp hiện có, thuộc tính “+F” chỉ có thể được đặt trên các thư mục trống trong hệ thống tệp trong đó hỗ trợ Unicode trong tên tệp và thư mục được bật ở giai đoạn gắn kết. Tên của các thành phần thư mục mà thuộc tính “+F” được kích hoạt sẽ tự động được chuyển đổi thành chữ thường và được phản ánh ở dạng này trong dcache, nhưng được lưu trên đĩa ở dạng do người dùng chỉ định ban đầu, tức là. Mặc dù xử lý tên không phân biệt chữ hoa chữ thường, tên vẫn được hiển thị và lưu mà không làm mất thông tin về chữ hoa chữ thường (nhưng hệ thống sẽ không cho phép bạn tạo tên tệp có cùng các ký tự mà trong một trường hợp khác).

Nguồn: opennet.ru

Thêm một lời nhận xét