[Patch] Segfault on unaligned lseek() on /dev/sdX (was: [ITP] ddrescue 1.3)

Corinna Vinschen corinna-cygwin@cygwin.com
Mon May 21 09:22:00 GMT 2007

Hi Christian,

On May 20 17:02, Christian Franke wrote:
> fhandler_dev_floppy::lseek() always clears the 60KB pre-read buffer, 
> even on lseek(fd, 0, SEEK_CUR);
> If a programm (like ddrescue) always calls lseek() before each read(), 
> performance is poor, because the same block is read several times.
> With this new version of the patch, the buffer is only cleared if necessary.

Thanks for the patch.  I've checked in a simplified version of the
buffer allocation which doesn't require calling alloca.  While at it,
I also added error handling in case raw_read fails.

As for the devbuf part of the patch, it's missing a ChangeLog entry.
Can you please send one, possibly in present tense?  (Your first
ChangeLog was incorrectly written in past tense)


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

More information about the Cygwin-patches mailing list