summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r--winsup/cygwin/fhandler.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index f6779614a..1c9e600a8 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -324,6 +324,12 @@ fhandler_base::open (int flags, mode_t mode)
access_ = GENERIC_READ | GENERIC_WRITE;
}
+ /* Allow reliable lseek on disk devices. */
+ if (get_device () == FH_FLOPPY)
+ {
+ access_ |= GENERIC_READ;
+ }
+
/* FIXME: O_EXCL handling? */
if ((flags & O_TRUNC) && ((flags & O_ACCMODE) != O_RDONLY))