On Tue, 5 Jul 2016, Mark Hounschell wrote: > From: Jiri Kosina <jkos...@suse.cz> > > Commit 09954bad4 ("floppy: refactor open() flags handling"), as a > side-effect, causes open(/dev/fdX, O_ACCMODE) to fail. It turns out that > this is being used setfdprm userspace for ioctl-only open(). > > Reintroduce back the original behavior wrt !(FMODE_READ|FMODE_WRITE) > modes, while still keeping the original O_NDELAY bug fixed. > > Cc: sta...@vger.kernel.org # v4.5+ > Reported-by: Wim Osterholt <w...@djo.tudelft.nl> > Tested-by: Wim Osterholt <w...@djo.tudelft.nl> > Signed-off-by: Jiri Kosina <jkos...@suse.cz> > --- [ ... snip ... ] > > But this does not completely fix all the problems induced by the original > changes from 4.4 to 4.5. The following is what we use to open the floppy. > > fd = open(device, O_RDWR | O_NDELAY); > > The FMODE_NDELAY check that was removed now prevents one from doing an open of > the device with no media inserted. It also prevents one from doing an open of > the device with media inserted that is not already formatted in a "standard" > format. I do both of these things a lot. I deal with a few very non-standard > formats and this change prevents me from doing what I've been doing for YEARS. > Could we please get the original behavior back in the floppy driver.
Hi Mark, thanks for the regression report. For my better understanding of your issue -- what behavior/semantics exactly does your userspace think it'll be getting from opening /dev/fd0 with O_NDELAY? Thanks, -- Jiri Kosina SUSE Labs