From owner-cvs-src@FreeBSD.ORG Wed Feb 28 10:55:38 2007 Return-Path: X-Original-To: cvs-src@freebsd.org Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3A10516A400; Wed, 28 Feb 2007 10:55:38 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id D36EE13C494; Wed, 28 Feb 2007 10:55:37 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id l1SAsvWh090699; Wed, 28 Feb 2007 03:54:57 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Wed, 28 Feb 2007 03:55:02 -0700 (MST) Message-Id: <20070228.035502.228971768.imp@bsdimp.com> To: phk@phk.freebsd.dk From: "M. Warner Losh" In-Reply-To: <43716.1172659622@critter.freebsd.dk> References: <20070228.033055.-135505832.imp@bsdimp.com> <43716.1172659622@critter.freebsd.dk> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Wed, 28 Feb 2007 03:54:57 -0700 (MST) Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/dev/usb umass.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Feb 2007 10:55:38 -0000 In message: <43716.1172659622@critter.freebsd.dk> "Poul-Henning Kamp" writes: : In message <20070228.033055.-135505832.imp@bsdimp.com>, "M. Warner Losh" writes : : : : >Others have observed that the number of sectors on a disk should be : >even. Therefore if maxsectors returned is even, it implies an odd : >number of sectors and should be adjusted. : : Hmm, although generally true for present day disks, I don't think : it is universal enough that I would want to rely solely on it. Google just showed me there are at least two real scsi disks with an odd number of sectors. It is a report about how Linux can't read the last sector of those disks and notes in passing that FreeBSD 4.4 can... It might be saner to just do this in the umass layer (eg, always adjust there if maxsectors is even) rather than rely on a quirk. : >number of sectors and should be adjusted. That might be an even : >easier path to follow... I'm never sure when one can schedule : >additional I/O inside of cam... : : Neither am I. : : Thinking about it, geom_disk might be a better place for it anyway. : : That way we could postpone announcment of the disk to GEOM tasting : until we know it can actually answer a request. Spin-up and other : long delays will not affect the system nearly as hard as they can : today. : : Early on I thought about a mandatory "read first & last sector" : check for all providers created in geom, but dropped it due to the : excessive shake, rattle and roll of big diskfarms and complex : layouts. But it might be a good idea to add it in a reduced form : applied to all providers which come in at rank==1 (that way we : would not do it for partitions, slices, mirrors etc). I'm not entirely sure that's the right place for it either. But the invariant does seem sane. The tasting code seems to already be reading it anyway (which is how I noticed the problem recently that I'd missed when I used this device on 4.x systems), so I'm not sure how much overhead there would really be... Warner