Bug rate isn't the only consideration when deciding when to trim a code base. It's usually not even the best one.
Gparted isn't a game. It's a critical filesystem utility. Code that isn't maintainable is by definition vulnerable in terms of both security and functionality.
It's bloody filesystem code! If someone has enough access to your system in order to invoke a partition editor on the local machine, security is the least of your worries.
Functionality.. eh. Having used gparted extensively and not having a single problem among hundreds of filesystem resizes, I've got to thank the maintainers for finally forcing me to get off my ass and purchase a commercial solution that can be trusted to not have critical functionality yanked.
It's not filesystem code. It's a userland utility that has direct access to your devices. No, the security of utilities that can directly IO my disks is never the least of my worries.
> "Having used gparted extensively and not having a single problem among hundreds of filesystem resizes..."
Cool, just make sure you stick with your legacy hardware. Tell you what, go look at the gparted code, and tell me how it'll handle an HFS on my new 4k sector disks. If you can either reassure me or suggest a patch, I might change my mind.
Edit: I certainly don't mean this to insult any of the work of gparted's devs. I just picked HFS as an example. The fact that gparted works so well is a tribute to those developers (looking at you xilun0).
IIRC Os X can now resize its own FS, so we can probably let my beautiful (just kidding) HFS code RIP. I won't talk for the other FS code, I have no special knowledge of them.
I have had no involvement in Parted for years (i'm doing radically different things), but as the one who wrote the HFS shrinking code I think and can explain my opinion on the subject. In summary it's a good idea to remove FS code if it has unknown status because the environment changed, and nobody is there to check every details.
Data security is to be taken very seriously in that kind of tool, and getting confident enough that a good level was achieved was actually what took most of the time when i wrote the hfs shrinker (I even unplugged the computer tens of times while resizing, then checked that the whole content of all files on the whole fs did not changed, then checked that OS X still booted and worked properly, + checked some internal metadata field of the FS, and so over). A correct review + tests in the modern context would take a lot of time, and I don't know if somebody have it but I haven't had in the last few years, still don't have, plus I don't even have the needed hardware anymore, so nobody should count on me.
Also one would have to check that the HFS+/HFSX has not evolved and implement support for interesting additional features Apple could have introduced in recent years.
That makes me a little nostalgic, but I 100% agree that without a careful review it is better to remove it (people who know what they are doing can still use an older version of the software, it's free software after all) than leave that kind of code that is now having an unknown status since the context of the environment has changed.
Of course that opinion is only relevant for the HFS code. I know nearly nothing about the other parts.
I am at this very moment working with 4k support in filesystem code, and it is a royal pain. You're quite right about the testing. My development on this is turning out to be largely test-driven.
So there's a problem with HFS on newer hardware, and the resulting decision is to completely yank all filesystem functionality?
The FAT code works, why yank it? The NTFS code works, why yank it?
This is a serious question. What possible usage does one have for gparted/libparted over something like fdisk now? 99.99% of my use case (and other's use case, if looking over various forums means anything) was resizing of partitions to install some some *ix.
My point wasn't really about HFS. All the filesystem-specific code will need to be adapted to changes in both hardware and in the target filesystems. What's going on here should make you question whether you really want to use gparted to resize partitions on new disks going forward. For my part, if a disk utility claims to work with my hardware, then it had better be tight.
My advice to you is to stick with the older versions of gparted.
All code has assumptions. As the rest of the software stack and hardware change, system software often needs to change with it to remain correct. With no active maintainer, "works" is a question, not a given.
It's a concern because you may use parted/gparted on an untrusted virtual machine or a USB key. You don't want a malformed filesystem controlled by someone you don't mutually trust to subvert a tool running as root on your host.
libvirt[1] and libguestfs[2] specifically take steps to reduce the exposure. Parted did not, but it's now somewhat more secure for getting rid of features that are better done by another means.
So run it on a VM/throwaway machine. Once you achieve that level of paranoia it's really turtles all the way down. Next we'll be trying to get rid of e2tools...
A properly malicious filesystem will get you a compromised userspace program... big whoop, there are far far far more likely vectors for that, at least manipulating a strange and untrusted filesystem with gparted is something you have to try to do. The danger libguestfs is attempting to avoid does not apply here meaningfully.
I know it sucks having functionality you depend on be deprecated away. I don't have a good answer for that. What alternatives are there for managing FAT, VFS, or HFS?
Edit: sorry, not vfs. I was thing vfat, but that's not really relevant either.
I don't really know. I haven't had to use it or anything else to preform those sorts of tasks for years to be honest. I just let Fedora (or whatever) format whatever disk I'm installing on as it likes. Of course I expect my usage is not typical, I also have a rather low amount of data that I keep around (below 15GB) so it's not really like I have complex disk needs. So this parted nonsense doesn't actually effect me, looking from the outside I just think it's dumb as hell.
I expect FAT/VFS/HFS/etc have an equivalent of e2tools. I never really used those FSs anyway.
You've got it backwards. It's a big mistake to wait for lots of errors (which in reality means people losing their precious data) before taking this measure.
Removing code because it's "old" or unmaintainable but which relied on features require seems like a questionable decision to me.