lseek()/read() to physical drive returning wrong data.

Corinna Vinschen cygwin@cygwin.com
Sat Feb 3 10:19:00 GMT 2001


On Sat, Feb 03, 2001 at 12:47:49PM -0500, Robin T. Miller wrote:
> Hi All,
> 	I have a Unix test program named 'dt' which runs with Cygwin.
> This program tests a variety of devices as well as file systems.  The
> tests which use lseek() to raw mounted disks, are failing with data
> compare errors.  It appears either lseek() is positioning incorrectly
> or read() is returning the wrong data after lseek'ing.
> 
> 	This random I/O sequence seems to work correctly to a regular
> file, so maybe the raw device buffering is messing up?  I'm not sure.

Lseek on raw devices isn't yet fully implemented. The underlying
*cough* operating system *cough* isn't able to do a bytewise access
to the raw device but only in steps of 512 bytes. A full lseek
implementation would need to do it's own buffering to simulate
bytewise buffering. This is still missing.

> 	The only other program restrictions is 32-bit file offsets.
> 
> 	BTW: Are there any plans to release 64-bit file support?

Not in the near future.


Nobody would complain about contributions, though...

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin@cygwin.com
Red Hat, Inc.

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list