Samsung to include in the Linux kernel a set of patches implementing a new exFAT driver based on the current 'sdfat' codebase, developed for the firmware of Samsung Android smartphones. If the patches are accepted, they will be part of Linux kernel 5.6, with the release expected in 2-3 months. Compared to the previously added exFAT driver, the new driver offers a performance boost of about 10%.
The main differences of the sdfat driver version for the main Linux kernel from the driver used by Samsung in Android:
- The code implementing the VFAT FS has been removed, as this file system is already separately supported in the kernel (fs/fat);
- The driver has been renamed from sdfat to exfat;
- The code has been refactored. The source code has been formatted according to the Linux kernel code style requirements;
- Metadata operations have been optimized, such as file creation, filesystem element lookup, and directory content determination (readdir).
- Errors found during additional testing have been fixed.
Let us remember that after Microsoft made the exFAT specifications public and provided the opportunity for free use of exFAT patents in Linux, the exFAT driver, also developed at Samsung, was added to the experimental 'staging' section ('drivers/staging/') of kernel 5.4, but based on (version 1.2.9). Enthusiasts from Android firmware had the new sdFAT driver (2.x), but Samsung decided to promote this driver in the main Linux kernel independently. Additionally, Paragon Software opened , previously supplied in a proprietary driver package.
The exFAT file system was created by Microsoft to eliminate the limitations of FAT32 when used on large-capacity flash drives. Support for the exFAT file system appeared in Windows Vista Service Pack 1 and Windows XP with Service Pack 2. The maximum file size was increased from 4 GB to 16 exabytes compared to FAT32, the limitation on the maximum partition size of 32 GB was removed, a free block bitmap was introduced to reduce fragmentation and increase speed, the limitation on the number of files in a single directory was raised to 65,000, and the ability to store ACL was provided.
Source: opennet.ru
