Date: Thu, 5 Jul 2001 10:49:17 -0500 From: Dan Nelson <dnelson@emsphone.com> To: Bill Moran <wmoran@iowna.com> Cc: Dale Hagglund <rdh@best.com>, freebsd-questions@freebsd.org Subject: Re: SCSI bad block remapping Message-ID: <20010705104917.A6471@dan.emsphone.com> In-Reply-To: <3B4482DC.C3CF1B6C@iowna.com> References: <3B327713.46173EC5@iowna.com> <863d8curun.fsf@ponoka.battleriver.com> <20010704205514.A13653@dan.emsphone.com> <86pubfubp7.fsf@ponoka.battleriver.com> <3B4482DC.C3CF1B6C@iowna.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--ikeVEW9yuYc//A+q Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In the last episode (Jul 05), Bill Moran said: > Dale Hagglund wrote: > > Since this piqued my interest, I tracked down the horse's mouth. > > According to the the SCSI-3 Block Commands specification, when a > > REASSIGN BLOCKS command is issued the data contained in blocks > > being remapped may be modified. Also, the command can fail because > > it needs to remap a larger region than the one specified. However, > > from the documentation of AWRE and ARRE, it appears that blocks are > > reassigned automatically only if the drive firmware can recover the > > data. > > > > It looks like the upshot is that you can, as you suggested, turn on > > automatic sector remapping without fear of silent data loss. > > This is good to know. Thank you for taking the time to look into the > specs for us, Dan. Now that I know that it is safe to turn on sector (Dale?) > remapping, I still don't know _how_ to do it. I'm also still curious > about what's going on with a drive that crashes because of bad > sectors one day, and then (once reformatted) runs with no problems > for over a week (and still running ...) A couple years ago, I wrote a script to check the WCE bit of SCSI drives. Here's the same script modified a bit to check ARRE and AWRE, plus the original for good measure :) -- Dan Nelson dnelson@emsphone.com --ikeVEW9yuYc//A+q Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=awrecheck #! /bin/sh echo Checking SCSI drives for auto reallocation: numbad=0 # get a list of direct-access devices known to the system units=$(camcontrol devlist | sed -n -e "/,da[0-9]*/s/.*,da\(.*\))/\1/p") for i in $units do result="$(camcontrol modepage da$i -m 1 -P 3 2> /dev/null | grep '^A.RE .*: 0' )" if [ "$result" != "" ] ; then camcontrol devlist | grep ",da${i})" echo "$result" echo numbad=$(($numbad + 1)) fi done if [ $numbad -gt 0 ] ; then s= [ $numbad -ne 1 ] && s=s echo "\ $numbad device$s with ARRE or AWRE unset. To reset, run \"camcontrol modepage <device> -e -P 3 -m 1\" where <device> is the disk (i.e. da0), and set AWRE and ARRE to 1." else echo "All drives are OK" fi --ikeVEW9yuYc//A+q Content-Type: message/rfc822 Content-Disposition: inline Date: Wed, 14 Oct 1998 23:19:26 -0500 From: Dan Nelson <dnelson@emsphone.com> To: Julian Elischer <julian@whistle.com>, "Justin T. Gibbs" <gibbs@plutotech.com> Cc: Terry Lambert <tlambert@primenet.com>, Don.Lewis@tsc.tdk.com, freebsd-fs@FreeBSD.ORG, freebsd-scsi@FreeBSD.ORG Subject: Re: filesystem safety and SCSI disk write caching Message-ID: <19981014231925.A18446@emsphone.com> References: <199810140518.XAA15040@pluto.plutotech.com> <Pine.BSF.3.95.981014105142.2872Q-100000@current1.whistle.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=HlL+5n6rz5pIUxbD X-Mailer: Mutt 0.94.3i In-Reply-To: <Pine.BSF.3.95.981014105142.2872Q-100000@current1.whistle.com>; from "Julian Elischer" on Wed Oct 14 11:08:05 GMT 1998 X-OS: FreeBSD 2.2.7-STABLE X-Keywords: X-UID: 1962 --HlL+5n6rz5pIUxbD Content-Type: text/plain; charset=us-ascii In the last episode (Oct 14), Julian Elischer said: > Hey everybody.. > look, we're in violent agreement here but haven't noticed it.... > > 7/ to allow for this to be achieved easily, there should be an easy > way to ensure that the write cache is turned off. Possibly as simple > as a good example in camctl.8 . I humbly submit the following script, to be added to /etc/security, or periodic/weekly, /etc/rc, or wherever. It's dependant on the exact output of "camcontrol inquiry" and "camcontrol modepage", but does the job. -Dan Nelson dnelson@emsphone.com --HlL+5n6rz5pIUxbD Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=cachecheck #! /bin/sh echo Checking SCSI drives for write-cache: numbad=0 # get a list of direct-access devices known to the system units=$(camcontrol devlist | sed -n -e "/,da[0-9]*/s/.*,da\(.*\))/\1/p") for i in $units do result=$(camcontrol modepage -m 8 -P 3 -u $i 2> /dev/null | grep WCE) if [ "$result" = "WCE: 1 " ] ; then camcontrol devlist | grep ",da${i})" numbad=$(($numbad + 1)) fi done if [ $numbad -gt 0 ] ; then s= [ $numbad -ne 1 ] && s=s echo " $numbad device$s with WCE set. To reset, run \"camcontrol modepage -e -P 3 -m 8 -u <unit>\" where <unit> is the disk number (i.e. da0 is unit #0), and set WCE to 0." fi echo --HlL+5n6rz5pIUxbD-- --ikeVEW9yuYc//A+q-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010705104917.A6471>