Linux kernel maintainers tear Paragon a new one after firm submits read-write NTFS driver in 27,000 lines of code
'How exactly do you expect someone to review this monstrosity?'
Paragon Software is trying to get its NTFS driver into the Linux kernel, but has submitted it as a single dump of 27,000 lines of code, sparking complaints that it is too large to review.
NTFS is the default file system for Windows XP and later. Microsoft is beginning to replace it with ReFS for some scenarios, but NTFS remains as the general-purpose file system for Windows. Linux has limited support for NTFS but has noted: "The biggest limitation at present is that files/directories cannot be created or deleted."
Paragon's NTFS driver includes a free version with full read-write support, and a paid-for edition with partition formatting, error-checking utilities, and other features. NTFS support is useful for scenarios like attaching external storage formatted with NTFS, or booting a Windows PC into Linux for troubleshooting.
Paragon has now offered its read-write NTFS driver for inclusion in the Linux kernel. "We at Paragon Software GmbH want to make our contribution to the Open Source Community by providing implementation of NTFS Read-Write driver for the Linux Kernel," read the post to the file system development mailing list.
The driver includes support for both normal and compressed files, supports journal replaying, and (says Paragon) will continue to be supported once merged, with full journaling support over JBD (Journaling Block Device, a file system-independent layer in the kernel) promised for a future update. The patch does not include all the Paragon utilities, suggesting that there could still be a commercial version.
The patch "is too big to handle it within an email body," acknowledged Paragon's Konstantin Komarov, offering a download link instead.
This is true: the file is over 27,000 lines.
"How exactly do you expect someone to review this monstrosity?" was the initial comment from another list member.
File system maintainer David Sterba observed that the patch also requires a fix to the makefiles, saying: "The way you submit the driver does not meet significant number of requirements documented in https://www.kernel.org/doc/html/latest/process/submitting-patches.html so this may lead to ignoring the patch as this puts the burden on the kernel community to make the merge somehow happen. I don't see kernel involvement from Paragon, so let me build our half of the bridge."
The patch will have to be split, he said, and a git tree created for it, otherwise it's "not clear to me what's the expected way to get the fixes to Linus' tree or where are people supposed to look for 'is this fixed already'."
Sterba also raised the question of what happens to the existing NTFS driver if the Paragon one is accepted, whether it would be a complete replacement or might cause compatibility problems. "Ideally there's just one NTFS driver in Linux kernel," he said.
Over to Paragon, then. Read-write support for NTFS in the kernel would be welcome, though it is late in the day. "It looks as though that with NTFS being surpassed by other more advanced file-systems, they are finally interested in contributing their code to the kernel," observed Phoronix's Michael Larabel.
If that is the case, it does not bode well for the company's future commitment to the code. Then again, neither does the half-baked initial submission. ®