4 ms·
> In what kind of context? The Linux kernel? Not the Linux kernel, but a large embedded system. > Filesystem code is pretty tricky to begin with, and prone >
by bArray 6y ago
> In what kind of context? The Linux kernel?
Not the Linux kernel, but a large embedded system.
> Filesystem code is pretty tricky to begin with, and prone
> to very subtle bugs with very not-subtle consequences.
This code has been running in the wild for quite a while now, it has had a trial by fire. And there's no way around testing, subtle ext4 bugs still crop up despite the maturity of the filesystem.
> And this isn't greenfield development of a new filesystem,
> but an implementation that needs to remain highly
> compatible with Microsoft's version.
No amount of code review will stop Microsoft from adapting their version. Also, I doubt Microsoft themselves will change too much about the filesystem given the compatibility they themselves have to maintain with cold storage NTFS drives.
> This FS driver has to be maintained to track changes to
> two operating systems.
You make it sound as if Microsoft have a hand in any of this. Also, have you seen the state of the current NTFS driver? It's a bit flakey (no disrespect to the maintainers).
- wtallis 6y ago> No amount of code review will stop Microsoft from adapting their version. Way to miss the point. Code review for the kernel isn't just about verifying that the code currently works. It's also about making sure the code is maintainable. Microsoft is relevant here because their actions will increase the maintenance burden of any Linux NTFS driver. Kernel developers rightly need to be concerned about how difficult it will be to extend the NTFS driver to handle new NTFS features that Microsoft introduces.
- bArray 6y ago> Way to miss the point. The point wasn't so clear, but I see what you're saying now. Maintainability is normal code review though. > It's also about making sure the code is maintainable. [..] > Kernel developers rightly need to be concerned about how > difficult it will be to extend the NTFS driver to handle new > NTFS features that Microsoft introduces. Maintainability is one thing, extensibility is another. Preparing your code to implement some changes completely outside of your control seems like a waste of time and something that might bite you later on.