يتضمن Linux kernel لـ FS Ext4 دعمًا للتشغيل غير الحساس لحالة الأحرف

تيد تسو ، مؤلف أنظمة الملفات ext2 / ext3 / ext4 ، أخذت إلى فرع Linux-next الذي سيشكل أساس إصدار Linux 5.2 kernel ، مجموعة تغيير، والتي تقدم الدعم للعمليات غير الحساسة لحالة الأحرف في نظام الملفات Ext4. تضيف التصحيحات أيضًا دعمًا لأحرف UTF-8 في أسماء الملفات.

يتم تمكين وضع التشغيل غير المتحسس لحالة الأحرف اختياريًا فيما يتعلق بالدلائل الفردية باستخدام السمة الجديدة "+ F" (EXT4_CASEFOLD_FL). عند تعيين هذه السمة في دليل ، ستكون جميع العمليات التي تحتوي على ملفات وأدلة فرعية بداخلها غير حساسة لحالة الأحرف ، بما في ذلك الحالة التي سيتم تجاهلها عند البحث عن الملفات وفتحها (على سبيل المثال ، Test.txt و test.txt وملفات test.TXT في مثل هذا الدلائل تعتبر نفسها). بشكل افتراضي ، باستثناء المجلدات التي لها صفة "+ F" ، يظل نظام الملفات حساسًا لحالة الأحرف. للتحكم في تضمين الوضع غير الحساس لحالة الأحرف ، يتم تقديم مجموعة معدلة من الأدوات المساعدة e2fsprogs.

أعدت التصحيحات بواسطة Gabriel Krisman Bertazi من Collabora وقبلت مع سابعًا محاولات بعد ثلاث سنوات تطوير وإزالة التعليقات. لا يغير التطبيق تنسيق تخزين القرص ويعمل فقط على مستوى تغيير منطق مقارنة الاسم في وظيفة ext4_lookup () واستبدال التجزئة في بنية dcache (ذاكرة التخزين المؤقت للبحث عن اسم الدليل). يتم تخزين قيمة السمة "+ F" داخل inodes من الدلائل الفردية وتنتشر إلى جميع الملفات والأدلة الفرعية المتداخلة. يتم تخزين معلومات الترميز في superblock.

لتجنب التضارب مع أسماء الملفات الموجودة ، يمكن فقط تعيين السمة "+ F" على الدلائل الفارغة في أنظمة الملفات التي تم تمكين دعم Unicode في أسماء الملفات والدليل أثناء مرحلة التحميل. يتم تحويل أسماء إدخالات الدليل التي تم تمكين السمة "+ F" لها تلقائيًا إلى أحرف صغيرة وتنعكس في هذا النموذج في dcache ، ولكن يتم تخزينها على القرص بالشكل الذي حدده المستخدم في البداية ، أي على الرغم من معالجة الأسماء بغض النظر عن الحالة ، يتم إظهار الأسماء وحفظها دون فقد المعلومات حول حالة الأحرف (لكن النظام لن يسمح لك بإنشاء اسم ملف بنفس الأحرف ، ولكن في حالة مختلفة).

المصدر: opennet.ru

إضافة تعليق