Re: [BUG] FLOPPY DRIVER since 5.10.20

From: Mark Hounschell
Date: Mon Jul 26 2021 - 08:31:55 EST

On 7/26/21 7:37 AM, Denis Efremov wrote:

On 7/26/21 2:17 PM, Mark Hounschell wrote:
On 7/26/21 3:57 AM, Denis Efremov wrote:

On 7/23/21 9:47 PM, Mark Hounschell wrote:

These 2 incremental patches, patch-5.10.19-20 and patch-5.11.2-3 have broken the user land fd = open("/dev/fd0", (O_RDWR | O_NDELAY)); functionality.

Thank you for the report, I'm looking into this.

Since FOREVER before the patch, when using O_NDELAY, one could open the floppy device with no media inserted or even with write protected media without error. "Read-only file system" status is returned only when we actually tried to write to it. We have software still in use today that relies on this functionality.

If it's a project with open sources could you please give a link?


This is immaterial but fdutils and libdsk both use rely on this flag. Who can know who else does. The point is it should NOT have been changed.

Yes, I asked this only to add utils and this behavior to the tests.
And be more specific about why we should preserve this behavior in
next commit messages.

Well, first thing is now you can't open a floppy with a write protected floppy installed. I don't think that was intended but that is now how it is.

Next there are commands that can be sent to the floppy via "ioctl(fd, FDRAWCMD, &raw_cmd);" that do NOT require a floppy diskette to be installed.

All commands issued to the device that require a floppy diskette without a diskette installed fail with the proper status letting you know the device is not ready / no diskette installed. That goes for write protected floppies too.

There is no reason to force a user to only be able to operate on Linux fdformat formatted floppies.