Ο πυρήνας Linux για το FS Ext4 περιλαμβάνει υποστήριξη για λειτουργία χωρίς διάκριση πεζών-κεφαλαίων

Ο Ted Ts'o, συγγραφέας των συστημάτων αρχείων ext2/ext3/ext4, δέχτηκε το στον επόμενο κλάδο Linux που θα αποτελέσει τη βάση της έκδοσης του πυρήνα Linux 5.2, set αλλαγές, τα οποία υλοποιούν υποστήριξη για λειτουργίες χωρίς διάκριση πεζών-κεφαλαίων στο σύστημα αρχείων Ext4. Οι ενημερώσεις κώδικα προσθέτουν επίσης υποστήριξη για χαρακτήρες UTF-8 στα ονόματα αρχείων.

Ο τρόπος λειτουργίας χωρίς διάκριση πεζών-κεφαλαίων είναι προαιρετικά ενεργοποιημένος σε σχέση με μεμονωμένους καταλόγους χρησιμοποιώντας το νέο χαρακτηριστικό "+F" (EXT4_CASEFOLD_FL). Όταν αυτό το χαρακτηριστικό ορίζεται σε έναν κατάλογο, όλες οι λειτουργίες με αρχεία και υποκαταλόγους μέσα δεν θα έχουν διάκριση πεζών-κεφαλαίων, συμπεριλαμβανομένων των πεζών-κεφαλαίων θα αγνοούνται κατά την αναζήτηση και το άνοιγμα αρχείων (για παράδειγμα, τα αρχεία Test.txt, test.txt και test.TXT σε τέτοια οι κατάλογοι θα θεωρούνται ίδιοι). Από προεπιλογή, με εξαίρεση τους καταλόγους με το χαρακτηριστικό "+F", το σύστημα αρχείων συνεχίζει να κάνει διάκριση πεζών-κεφαλαίων. Για να ελέγξετε τη συμπερίληψη της λειτουργίας χωρίς διάκριση πεζών-κεφαλαίων, προσφέρεται ένα τροποποιημένο σύνολο βοηθητικών προγραμμάτων e2fsprogs.

Patches που ετοίμασε ο Gabriel Krisman Bertazi της Collabora και έγιναν δεκτά με έβδομο προσπάθειες μετά τρία χρόνια ανάπτυξη και εξάλειψη σχολίων. Η υλοποίηση δεν αλλάζει τη μορφή αποθήκευσης δίσκου και λειτουργεί αποκλειστικά στο επίπεδο αλλαγής της λογικής σύγκρισης ονομάτων στη συνάρτηση ext4_lookup() και αντικατάστασης του κατακερματισμού στη δομή dcache (Directory Name Lookup Cache). Η τιμή του χαρακτηριστικού "+F" αποθηκεύεται στους inodes μεμονωμένων καταλόγων και διαδίδεται σε όλα τα ένθετα αρχεία και υποκαταλόγους. Οι πληροφορίες κωδικοποίησης αποθηκεύονται στο σούπερ μπλοκ.

Για να αποφευχθούν συγκρούσεις με τα ονόματα των υπαρχόντων αρχείων, το χαρακτηριστικό "+F" μπορεί να οριστεί σε άδειους καταλόγους μόνο σε συστήματα αρχείων που έχουν ενεργοποιημένη την υποστήριξη Unicode στα ονόματα αρχείων και καταλόγων κατά τη φάση προσάρτησης. Τα ονόματα των καταχωρήσεων καταλόγου για τις οποίες είναι ενεργοποιημένο το χαρακτηριστικό "+F" μετατρέπονται αυτόματα σε πεζά και αντικατοπτρίζονται σε αυτή τη φόρμα σε dcache, αλλά αποθηκεύονται στο δίσκο με τη μορφή που είχε ορίσει αρχικά ο χρήστης, π.χ. παρά την επεξεργασία των ονομάτων ανεξαρτήτως πεζών-κεφαλαίων, τα ονόματα εμφανίζονται και αποθηκεύονται χωρίς να χάνονται πληροφορίες σχετικά με την περίπτωση των χαρακτήρων (αλλά το σύστημα δεν θα σας επιτρέψει να δημιουργήσετε ένα όνομα αρχείου με τους ίδιους χαρακτήρες, αλλά σε διαφορετική περίπτωση).

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο