Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jan 2005 13:31:23 -0800
From:      Pete Carah <pete@altadena.net>
To:        current@freebsd.org
Subject:   Another floppy-related problem
Message-ID:  <20050125213123.GA95337@users.altadena.net>

next in thread | raw e-mail | index | archive | help
There was another interesting problem uncovered by my trying to read in
most of my old floppy archive disks while I still could (!); cp *always*
mmaps the input file.  If there is a hard error on a slow device, the
fact that the vnode-pager is doing the read makes the entire system hang.

This is not desirable for floppies for 2 reasons: 
1. they are slow.
2. they are error-prone.

I suppose I could dd the whole floppy to a temp, then open it virtual.
If that were done with conv=noerror,sync then (in many cases) one could
recover as much data as could be recovered.  That would be a fairly easy
script, and would probably be faster than reading the files directly from
the slow medium, at least if a full-track blocksize worked in the dd.

However, it *would* be nice to have a flag to cp, or another similar command 
(I might be able to use cpio or tar in a pipeline?) that did ordinary reads
and not mmap...  (for that matter, there are devices (I suspect floppies are
one of these, and I have seen hints that cdrom's are too) for which ordinary 
reads are much faster than mmap for whatever reason.)

-- Pete



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050125213123.GA95337>