[21522] in Athena Bugs

home help back first fref pref prev next nref lref last post

Solaris floppy lossage (?)

daemon@ATHENA.MIT.EDU (John Hawkinson)
Wed Feb 26 16:48:18 2003

Date: Wed, 26 Feb 2003 16:48:14 -0500 (EST)
Message-Id: <200302262148.QAA27687@multics.mit.edu>
To: bugs@MIT.EDU
From: John Hawkinson <jhawk@MIT.EDU>

A user came into the SIPB office today with a floppy she'd been using
under Windows, after windows claimed a "disk full" condition, and then
refused to read from the floppy again and only offered to format it.

I didn't take a careful transcript at the time, but only afterwards
realized somethin was wrong.

Initially, I tried dd-ing data off of the floppy on coleco-sidewinder
(9.1.22 Solaris). After volchecking and then "dd
if=/vol/dev/aliases/floppy0 conv=noerror,sync", dd would only read the
first 16 blocks before stopping, and gave me output files like:

-rw-r--r--   1 jhawk    mit         8192 Feb 26 10:51 flop1

When I'd tried with bs=18k initially (which I realized was an error
because I'd lose 36 blocks instead of 1 block on an error), I got a larger
file:

-rw-r--r--   1 jhawk    mit        92160 Feb 26 10:50 flop

In any case, with 512b blocks, I found that even skip=16 was not sufficient
to cause dd to keep reading past the 16th block. This seems very odd to me.
It should keep reading even if every read fails, right?

In any case, I moved to a linux machine and was able to read the
entire disk with "dd if=/dev/fd0a conv=noerror,sync", albiet with some
errors early on. Further, mtools was able to extract the data just fine.

I think this means something is wrong with Solaris' floppy driver, or with
dd itself. Data after the first 8k should still be addressable, even if it
is unreadable.

--jhawk


home help back first fref pref prev next nref lref last post