Azienda Samsung di includere nel kernel Linux un insieme di patch per l'implementazione di un nuovo driver exFAT, basato sull'attuale codice sorgente «sdfat», sviluppato per i firmware degli smartphone Samsung. Se le patch verranno accettate, entreranno a far parte del kernel Linux 5.6, la cui release è attesa tra 2-3 mesi. Rispetto al driver exFAT precedentemente aggiunto al kernel, il nuovo driver offre un incremento delle prestazioni di circa il 10%.
Le principali differenze della revisione del driver sdfat per il kernel Linux principale rispetto al driver utilizzato da Samsung in Android:
- È stato rimosso il codice per l'implementazione del file system VFAT, poiché questo file system è già supportato separatamente nel kernel (fs/fat);
- Il driver è stato rinominato da sdfat a exfat;
- È stata effettuata una refattorizzazione del codice. I testi sorgente sono stati adeguati ai requisiti di formattazione del codice per il kernel Linux;
- È stata eseguita un'ottimizzazione delle operazioni con i metadati, come la creazione di file, la ricerca di elementi del file system (lookup) e la determinazione del contenuto delle directory (readdir).
- Sono stati corretti gli errori identificati durante i test aggiuntivi.
Ricordiamo che dopo che l'azienda Microsoft ha reso pubbliche le specifiche e ha fornito la possibilità di utilizzare gratuitamente i brevetti su exFAT in Linux, è stato aggiunto al segmento sperimentale «staging» («drivers/staging/») del kernel 5.4 un driver exFAT, anch'esso sviluppato in Samsung, ma basato su (versione 1.2.9). È stato un nuovo driver sdFAT (2.x), ma l'azienda Samsung ha deciso autonomamente di promuovere questo driver nel kernel principale di Linux. Inoltre, l'azienda Paragon Software ha aperto , precedentemente fornito in un pacchetto di driver proprietari.
Il file system exFAT è stato creato da Microsoft per superare le limitazioni di FAT32 nell'uso su unità flash di grande capacità. Il supporto per il file system exFAT è apparso in Windows Vista Service Pack 1 e in Windows XP con Service Pack 2. La dimensione massima dei file rispetto a FAT32 è stata ampliata da 4 GB a 16 exabyte, è stata eliminata la limitazione sulla dimensione massima delle partizioni a 32 GB, per ridurre la frammentazione e aumentare la velocità è stata introdotta una bitmap dei blocchi liberi, il limite sul numero di file in una directory è stato elevato a 65.000, ed è stata prevista la possibilità di memorizzare ACL.
Fonte: opennet.ru
