Date: Wed, 28 Feb 2007 03:16:37 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: des@des.no Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/usb umass.c Message-ID: <20070228.031637.-15687335.imp@bsdimp.com> In-Reply-To: <86d53ufyl7.fsf@dwp.des.no> References: <200702272233.l1RMXocb004983@repoman.freebsd.org> <86d53ufyl7.fsf@dwp.des.no>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <86d53ufyl7.fsf@dwp.des.no>
des@des.no (Dag-Erling Sm=F8rgrav) writes:
: Warner Losh <imp@FreeBSD.org> writes:
: > Log:
: > Some USB mass storage devices return the number of sectors in res=
ponse
: > to a READ_CAPACITY request rather than the maximum sector (off by=
one
: > problem). This causes a huge cascade of errors as the geom tasti=
ng
: > code tries to read the last sector (which isn't really there in t=
he
: > face of this error). automated tools that manipulate disk labels=
and
: > such also have issues.
: > =
: > Create a new quirk READ_CAPACITY_OFFBY1 and add a quirk for the
: > SanDISK ImageMate that I have that suffers from this problem (the=
: > SDDR-31). It intercepts the READ_CAPACITY response and adjusts i=
t
: > from number of sectors to max sector for devices with this quirk.=
: > =
: > Reading the Linux source suggests that there are a host of
: > other devices with this issue, including iPods and some popular
: > cameras. I've not added quirks for them, since I don't have the
: > devices in front of me to test.
: =
: How about the following dirty hack: if the appropriate kernel option =
/
: device hint / sysctl knob is frobbed, when a READ_CAPACITY request
: completes, try to read the last sector, and if that doesn't work,
: adjust the result and print a warning to the console?
HOW ABOUT PEOPLE SUBMIT PATCHES RATHER THAN SUGGEST MORE WORK FOR ME.
I ALREADY DISCUSSED THIS IN SCSI@. ALL ARMCHAIR GENERALS ARE HEREBY
INVITED TO SUBMIT TESTED PATCHES.
HAVE A NICE DAY.
Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070228.031637.-15687335.imp>
