The Existing Linux exFAT Code Is "Horrible" But Could Soon Be In Staging

Written by Michael Larabel in Linux Storage on 29 August 2019 at 06:53 AM EDT. 38 Comments
Following Microsoft's approval of seeing exFAT support on Linux and at long last releasing public specifications to the file-system, the existing out-of-tree Linux driver code was quickly volleyed on the mailing list for review and hopeful inclusion into the kernel.

The existing out-of-tree exFAT Linux driver is the several year old one that was accidentally leaked by Samsung though later cleared up back in 2013. Due to uncertainty over Microsoft's exFAT patents and the company previously not publicly giving their blessing to this file-system Linux support, it's never been mainlined.

Following Microsoft's announcement on Wednesday, Greg Kroah-Hartman sent out the latest version of that exFAT code for review/comment and shared plans to merge it into the kernel's staging area. The file-system driver would be in the kernel's staging area until it's all cleaned up.

Longtime kernel developer Christoph Hellwig was quick to criticize the code for re-implementing large parts of the kernel's existing FAT driver and called this new driver a "pile of crap". He called for first getting the driver improved upon and better code sharing rather than having yet another file-system going through staging.

Greg KH responded that he doesn't believe exFAT support could be tacked on to the existing FAT code and that now the specifications are publicly available it will be easier to improve the code. "Now that we have the specs, it might be easier, and the vfat spec is a subset of the exfat spec, but to get stuff working today, for users, it's good to have it in staging. We can do the normal, "keep it in stable, get a clean-room implementation merged like usual, and then delete the staging version" three step process like we have done a number of times already as well."

Greg did acknowledge though that this initial exFAT driver code is indeed less than stellar quality, "I know the code is horrible, but I will gladly take horrible code into staging. If it bothers you, just please ignore it. That's what staging is there for :)"

Assuming no objections from Linus Torvalds, it's quite possible we could see this initial exFAT driver in the kernel's staging area with the upcoming Linux 5.4 cycle.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week