Date: Tue, 27 Feb 2007 22:33:50 +0000 (UTC) From: Warner Losh <imp@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/usb umass.c Message-ID: <200702272233.l1RMXocb004983@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
imp 2007-02-27 22:33:50 UTC FreeBSD src repository Modified files: sys/dev/usb umass.c Log: Some USB mass storage devices return the number of sectors in response to a READ_CAPACITY request rather than the maximum sector (off by one problem). This causes a huge cascade of errors as the geom tasting code tries to read the last sector (which isn't really there in the 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 it 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. Revision Changes Path 1.142 +18 -0 src/sys/dev/usb/umass.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702272233.l1RMXocb004983>