top | item 20594632

“I would like to maintain the floppy driver”

361 points| doener | 6 years ago |lore.kernel.org | reply

225 comments

order
[+] iforgotpassword|6 years ago|reply
It's amazing how some parts of the kernel barely get maintained explicitly. A year or two ago I was digging through the block driver subsystem and at some point took a look at the loop device as a simple reference. I learned that it supports encryption, because that was actually the only way to implement encrypted volumes about 15 years ago. Dmcrypt didn't exist yet. I would be surprised if anyone still uses that feature, yet nobody bothered removing it. Loop is mostly ever touched if anything changes in the block layer. It was the first block device to be switched over to multi queue though, most likely due to its simplicity. Which is most likely also the reason nobody bothers becoming the official maintainer.
[+] dev_dull|6 years ago|reply
This is actually not unusual in nature. Complex systems become more complex over time and resist becoming simpler. One day they instantly become simple again (collapse).
[+] lukeschlather|6 years ago|reply
I tried getting the Dell XPS 13 Ubuntu edition for work but couldn't enable full-disk encryption due to NVME not being supported at the time. The only thing to do was homedir encryption, which I believe are mounted as loop, at least in the standard Ubuntu config. So there are still circumstances today in which it's the only way to get encryption. (Incidentally, I gave up on that laptop because an ecryptfs mounted homedir broke inotify integration with a vagrant guest VM.)
[+] rconti|6 years ago|reply
I'm cleaning out my wife's 2008 Subaru in preparation to sell it.

In the door pockets, I have found a protractor, a 3.5" floppy disk, and a cassette tape.

All of these things were outdated when the car was new (well, except the protractor, but I still find it funny. She was well out of school when she got the car.)

The car came with a CD player.

I have no idea what's on the floppy.

[+] anon4242|6 years ago|reply
> I have no idea what's on the floppy.

Luckily for you, there now is someone who wants to maintain the floppy driver for the Linux kernel...

[+] bsanr2|6 years ago|reply
I know we're not supposed to meme here, but the fact that you are essentially living an SNL send-up of a soppy Subaru commercial needs to be pointed out. Because it's hilarious.
[+] gregwtmtno|6 years ago|reply
Interestingly enough, my 2019 Subaru came with a CD player. I doubt it will ever be used.
[+] squirrelicus|6 years ago|reply
Wait... A protractor isn't out of date :P
[+] gumby|6 years ago|reply
I love the fact that the device most people think of as a "floppy" disk isn't even floppy -- by the time removable-spinning-media-in-a-sleeve became truly mainstream the drive itself had gone back to being rigid.

So the word "floppy" was itself vestigial.

[+] anfractuosity|6 years ago|reply
That's cool, I think it'd be shame for it to remain unmaintained given that there must be a lot of legacy software on floppy disks. (I understand there are tools that provide a USB interface though)

I recently bought a PC104 board, specifically so that I can use the floppy disk interface, for 5.25 and 3.5 floppy disk drives.

[+] aidenn0|6 years ago|reply
Most of my floppy disks are badly corrupted; IIRC data on them is considered to have a lifetime of about 10 years. That being said, my 360k and 720k 3.5" floppies seem to work considerably better than my 1.44MB 3.5" floppies even though they are quite a bit older. Not sure if it's because of cheapening of production or just the higher density of data.
[+] pkaye|6 years ago|reply
So your PC104 board working with the latest Linux kernel and had a floppy disk interface? Which processor does it have?
[+] CaptainMarvel|6 years ago|reply
Shouldn’t the floppy driver be incredibly stable code after all these years? It’s surely in maintenance mode rather than feature development, and surely all the bugs have been ironed out by now!
[+] rosser|6 years ago|reply
Maintaining that kind of code is often less about dealing with lingering bugs, than it is about making sure that it's kept in sync with changes to the rest of the kernel that might be relevant. If some kernel structure that the FDD driver uses changes, it needs to know that.

EDIT: Phrasing

[+] dpcan|6 years ago|reply
Software ages by association. Whatever system it's on or associated with dictates its life span.

Like if you put a soda on a block of ice outside. It will last through the winter and stay solid. Wait until spring and things start getting slippery and wet. The ice and soda are showing signs of aging. Summer hits, and your soda crashes to the ground, spills, everything is just sticky, unusable, and bugs are everywhere.

[+] tachyonbeam|6 years ago|reply
> surely all the bugs have been ironed out by now!

Famous last words.

[+] sp332|6 years ago|reply
Yeah, but you never know when something somewhere else in the kernel might break it. And not many people have the hardware (not to mention patience) to run a bunch of regression tests for new releases.
[+] JustSomeNobody|6 years ago|reply
> Shouldn’t the floppy driver be incredibly stable code after all these years?

Not if it calls or is called by code that changes more frequently.

[+] scarejunba|6 years ago|reply
Say you modify the HAL interface, then you need to edit this to work as well.
[+] duxup|6 years ago|reply
That's something to put on your resume and mention in an interview.

And then the response:

"You maintain a what driver?"

[+] toomuchtodo|6 years ago|reply
places floppy drive on desk "This. It runs this."
[+] gerbilly|6 years ago|reply
I recently found a really old floppy in a box.

It contained the first client work I ever did for someone, around 1990 or so.

It was an implementation of an algorithm for computing the inbreeding coefficient of a population.

The program read the population data from a database and then wrote the resulting coefficient back into a new column.

I pleasantly surprised at how good my code was.

[+] muterad_murilax|6 years ago|reply
"Well, without jokes about Thunderdome..."

Anyone care to explain?

[+] dimoprhus|6 years ago|reply
Jiri Kosina wrote when he became the floppy maintainer in 2012: "I have fought the current maintainer to the death in the Thunderdome" https://github.com/torvalds/linux/commit/8206f664bfd7121e79f...

Denis Efremov sent the security patches to floppy driver. Jiri orphaned the driver: https://github.com/torvalds/linux/commit/47d6a7607443ea43dbc...

And now Denis wants to maintain the floppy driver...

Linus https://lkml.org/lkml/2012/5/16/370: "You'll have to fight the current maintainer to the death in the Thunderdome. What's that, you say?"

[+] mathgenius|6 years ago|reply
Possibly a reference to the Mad Max movie...
[+] chaoticmass|6 years ago|reply
I've got a PC that's fairly modern but still has a floppy controller on board. It's sitting in an IBM Workstation case with an OG IBM 360K 5.25" drive and a 3.5" drive. I plan to hook those up and make them work but I need to buy some floppy cables off eBay.
[+] konschubert|6 years ago|reply
I’m not sure if this is a good thing. Sometimes you have to cut the cruft to focus the energy on what’s critical.

If you have an old floppy that you want to read you could also just install an old version of Linux.

[+] asveikau|6 years ago|reply
A maintainer came forward and volunteered. That doesn't take focus away from other people who will be uninvolved.

Although I could see a security argument. Wasn't there a qemu bug that involved exploiting a virtual floppy drive?

[+] ronsor|6 years ago|reply
It's a floppy driver. I don't think much is going to change, besides making sure it still works
[+] astrodust|6 years ago|reply
In the Y2K era I made a Linux firewall that fit on a single floppy disk: kernel, vi, and a tiny partition config mounted as a loopback device. 1.44MB and it ran great!

Linux owes its existence to the floppy, for years that was the only way to bootstrap it. Good to see support going forward.

[+] VectorLock|6 years ago|reply
I still remember my first Linux was Slackware on a stack of 3.5" discs downloaded from a BBS.
[+] afandian|6 years ago|reply
What is the significance of this?
[+] parsimo2010|6 years ago|reply
The floppy disk drivers were no longer being maintained. They were orphaning the drivers and they would eventually rot as the rest of the kernel changed around it. Then someone else stepped up to take the position of maintaining the driver.

It's significant because a) some dude out there still has working floppy disk drives and feels that they might still be used, and b) this basically proves that Linux has the best legacy device support.

If they didn't maintain this you would be stuck keeping an old computer alive that had a floppy drive and a CD burner, to burn any data you needed to a CD, then another old computer that has a CD drive and a USB port to move the data off a CD (/s, but only kinda).

[+] markstos|6 years ago|reply
I was cleaning out my basement last week and found some 5" floppy disks. It hadn't occurred to me that Linux would drop support.
[+] mkl|6 years ago|reply
Linux hadn't dropped support, the driver is stable and still present. Without an official maintainer it would continue to work for some time, though would eventually need fixing as other parts of the kernel change around it.

Even without an official maintainer interested people could still update it if changes to other parts of the kernel broke something.

[+] romwell|6 years ago|reply
Floppy drives get first class support on Windows 10 though.

(...the couple of 3.5" discs that I now use in old music equipment originally came from a supply room in Microsoft when I interned there in 2014, although I'm not sure what they were used for even back then).

[+] inflatableDodo|6 years ago|reply
I have an Archimedes floppy disk that is probably corrupted to hell that has my last saved point on Elite.
[+] birdman3131|6 years ago|reply
Ive got a few floppy drives that I would be glad to donate if shipping was covered.
[+] shortformblog|6 years ago|reply
All jokes aside, this is great for software preservation folks.
[+] peterwwillis|6 years ago|reply
If we don't maintain this driver, our grandkids will never understand certain bash.org quotes concerning a floppy disk and a hard drive.
[+] yread|6 years ago|reply
This is the perfect Friday evening thread!
[+] sebazzz|6 years ago|reply
Who tests the work of the developer?
[+] tacotime|6 years ago|reply
The users! It is provided for free, anyone is free to pony up the funds/effort to develop and run tests. If you find a bug but don’t know how to fix it, there’s even a guy (the developer) who will try to fix it for you free of charge!