From owner-freebsd-current Thu Jan 6 15: 8:57 2000 Delivered-To: freebsd-current@freebsd.org Received: from alcanet.com.au (border.alcanet.com.au [203.62.196.10]) by hub.freebsd.org (Postfix) with ESMTP id A308515797 for ; Thu, 6 Jan 2000 15:08:52 -0800 (PST) (envelope-from jeremyp@gsmx07.alcatel.com.au) Received: by border.alcanet.com.au id <40323>; Fri, 7 Jan 2000 10:01:19 +1100 Content-return: prohibited From: Peter Jeremy Subject: Re: ATA driver problems In-reply-to: <20000106103851.A620@gsmx07.alcatel.com.au>; from peter.jeremy@alcatel.com.au on Thu, Jan 06, 2000 at 10:38:51AM +1100 To: freebsd-current@FreeBSD.ORG Message-Id: <00Jan7.100119est.40323@border.alcanet.com.au> MIME-version: 1.0 X-Mailer: Mutt 1.0i Content-type: text/plain; charset=us-ascii References: <20000106103851.A620@gsmx07.alcatel.com.au> Date: Fri, 7 Jan 2000 10:01:19 +1100 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On 2000-Jan-06 10:38:51 +1100, I wrote: ["dd if=/dev/rad0c of=/dev/null bs=64k" dies with an error] I did some poking around and found that there are two bugs which conspire together to cause this: 1) diskstrategy() does not detect dscheck() returning EOF, instead passing a zero-length request to the underlying driver. 2) The ata-disk driver doesn't check for (and ignore) zero-length requests, instead passing them onto the disk. See kern/15956 for details and patches. Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message