From owner-freebsd-hackers Thu Feb 9 20:03:47 1995 Return-Path: hackers-owner Received: (from root@localhost) by freefall.cdrom.com (8.6.9/8.6.6) id UAA29196 for hackers-outgoing; Thu, 9 Feb 1995 20:03:47 -0800 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.9/8.6.6) with ESMTP id UAA29190 for ; Thu, 9 Feb 1995 20:03:36 -0800 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id OAA27634; Fri, 10 Feb 1995 14:59:03 +1100 Date: Fri, 10 Feb 1995 14:59:03 +1100 From: Bruce Evans Message-Id: <199502100359.OAA27634@godzilla.zeta.org.au> To: bde@zeta.org.au, rgrimes@gndrsh.aac.dev.com Subject: Re: Using seagate driver with Future Domain 950: :-( Cc: FreeBSD-hackers@FreeBSD.org, vak@cronyx.msk.su, wilko@yedi.iaf.nl Sender: hackers-owner@FreeBSD.org Precedence: bulk >> 40* x 2048 seems to be a standard magic number that results if media >> detection is not working. It also happens for the Ultrastor driver >> if the media is not present. >Here is the source of that magic number, from sys/scsi/cd.c: > if (blksize < 512) > blksize = 2048; /* some drives lie ! */ > if (size < 100) > size = 400000; /* ditto */ >This occurs after the command to get the size, and is only done if >that command returned success. Seems that some drives and/or controllers >are returning bad data :-( For the ultrastor it's a driver bug. Media not-present errors are not detected and some buffers are all 0's. 0 < 512 && 0 < 100, so the obviously bogus 0 x 0 is punted to 400000 x 2048. Bruce