From owner-freebsd-stable@FreeBSD.ORG Thu Sep 18 18:33:00 2008 Return-Path: Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 725741065675; Thu, 18 Sep 2008 18:33:00 +0000 (UTC) (envelope-from talon@lpthe.jussieu.fr) Received: from shiva.jussieu.fr (shiva.jussieu.fr [134.157.0.129]) by mx1.freebsd.org (Postfix) with ESMTP id 1E1648FC19; Thu, 18 Sep 2008 18:32:54 +0000 (UTC) (envelope-from talon@lpthe.jussieu.fr) Received: from parthe.lpthe.jussieu.fr (parthe.lpthe.jussieu.fr [134.157.10.1]) by shiva.jussieu.fr (8.14.3/jtpda-5.4) with ESMTP id m8IIWrtm094577 ; Thu, 18 Sep 2008 20:32:53 +0200 (CEST) X-Ids: 166 Received: from niobe.lpthe.jussieu.fr (niobe.lpthe.jussieu.fr [134.157.10.41]) by parthe.lpthe.jussieu.fr (Postfix) with ESMTP id 164D78A266; Thu, 18 Sep 2008 20:32:52 +0200 (CEST) Received: by niobe.lpthe.jussieu.fr (Postfix, from userid 2005) id A458D10B; Thu, 18 Sep 2008 20:32:51 +0200 (CEST) Date: Thu, 18 Sep 2008 20:32:50 +0200 From: Michel Talon To: freebsd-stable@FreeBSD.ORG, jhb@FreeBSD.ORG Message-ID: <20080918183250.GA48347@lpthe.jussieu.fr> Mail-Followup-To: Michel Talon , freebsd-stable@FreeBSD.ORG, jhb@FreeBSD.ORG References: <20080918075306.GA30709@lpthe.jussieu.fr> <200809181618.m8IGIj2P050390@lurza.secnetix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200809181618.m8IGIj2P050390@lurza.secnetix.de> User-Agent: Mutt/1.4.2.3i X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.0 (shiva.jussieu.fr [134.157.0.166]); Thu, 18 Sep 2008 20:32:53 +0200 (CEST) X-Virus-Scanned: ClamAV 0.93.3/8281/Thu Sep 18 19:13:14 2008 on shiva.jussieu.fr X-Virus-Status: Clean X-Miltered: at jchkmail.jussieu.fr with ID 48D29ED5.003 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 48D29ED5.003/134.157.10.1/parthe.lpthe.jussieu.fr/parthe.lpthe.jussieu.fr/ X-j-chkmail-Score: MSGID : 48D29ED5.003 on jchkmail.jussieu.fr : j-chkmail score : . : R=. U=. O=. B=0.009 -> S=0.009 X-j-chkmail-Status: Ham Cc: Subject: Re: floppy disk controller broken X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Sep 2008 18:33:00 -0000 On Thu, Sep 18, 2008 at 06:18:45PM +0200, Oliver Fromme wrote: > Michel Talon wrote: > > John Baldwin wrote: > > > It looks like the ioctl to format a track used to never report failures from > > > the controller. The newer driver does. What I've done with fdformat is to > > > make it just ignore the errors in userland instead. Try this: > > > > > > Index: fdformat.c > > > =================================================================== > > > --- fdformat.c (revision 183112) > > > +++ fdformat.c (working copy) > > > @@ -75,8 +75,7 @@ > > > f.fd_formb_secno(i) = il[i+1]; > > > f.fd_formb_secsize(i) = secsize; > > > } > > > - if(ioctl(fd, FD_FORM, (caddr_t)&f) < 0) > > > - err(EX_OSERR, "ioctl(FD_FORM)"); > > > + (void)ioctl(fd, FD_FORM, (caddr_t)&f); > > > } > > > > > > static int > > > > This doesn't work any more. This time i get > > niobe# fdformat fd0 > > Format 1440K floppy `/dev/fd0'? (y/n): y > > Processing EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE done. > > > > where only the first E takes some time to be printed, and all subsequent > > ones are printed instantaneously, that is all other formatting is not > > tried. In principle the formatting process must try each of the > > "sectors" in turn, and can come up with a series of V and F. > > > > Moreover, trying to write to the floppy: > > niobe# dd if=/dev/zero of=/dev/fd0 conv=noerror > > dd: /dev/fd0: Input/output error > > 5+0 records in > > 4+0 records out > > 2048 bytes transferred in 4.054404 secs (505 bytes/sec) > > > > I don't expect such result. Traditionnally writing works, while reading > > may fail. > > Maybe I misunderstand what you're saying, but ... > When I try to write to a floppy that has *not* been > successfully formatted, I very much expect to get > Input/output error. Anything else would be a bug. > > Best regards > Oliver The floppy has certainly be formatted, in the past. Perhaps i remember badly, i have not used floppies since years, but in this case the behavior with Windows, Linux and ancient FreeBSD was that you could write to the floppy, but could encounter errors while reading. Using dd conv=noerror allowed to recover the valid part. Under Windows you could very well use floppies partly damaged with bad blocks or tracks. Here the driver seems to bail out at the first error, so that the above commands run much faster than they should, a few seconds, while something of the order of a minute should be more realistic. -- Michel TALON