This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: "md5sum /dev/fd0" fails with 1.5.25-15 (works with 1.5.24-2)


On Aug  8 22:16, Heinz Werner Kramski-Grote wrote:
> With cygwin1.dll 1.5.24-2 I am able to
> checksum the raw floppy device successfully using md5sum:
>
>    $ md5sum /dev/fd0
>    f8e9627946048ac9bc3109478ef09215 */dev/fd0
>
> After upgrading to 1.5.25-15 I now get this error:
>
>    $ md5sum /dev/fd0
>    md5sum: /dev/fd0: No space left on device
>
> Any help is greatly appreciated.

That's a long standing bug in the raw block device reading code.  At EOF
it sets errno to ENOSPC instead of just returning with 0, if reads are
buffered and the blocksize to read is not an integral divider of the
device size.  I fixed that in CVS now.  You didn't observe this problem
in 1.5.24 because back then, the default blocksize for reads were 4096
bytes, which *is* a integral divider of the floppy disk size.  Starting
with 1.5.25, the default blocksize is 64K.

Possible workaround for the time being (until Cygwin 1.7 is out):

  $ dd if=/dev/fd0 bs=4096 | md5sum
or
  $ dd if=/dev/fd0 bs=65536 iflag=direct | md5sum


Thanks for the report,
Corinna

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

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]