Date: Fri, 14 Apr 2006 17:00:55 -0700 From: Garrett Cooper <youshi10@u.washington.edu> To: David J Brooks <daeg@houston.rr.com> Cc: freebsd-questions@freebsd.org Subject: Re: Determining whether or not a SCSI disk is in use Message-ID: <18D2A257-174C-4136-8FF7-C4041E19288E@u.washington.edu> In-Reply-To: <200604141648.27728.daeg@houston.rr.com> References: <443F5CE6.4080107@u.washington.edu> <20060414131931.Q81702@home.ephemeron.org> <308097D9-B881-4A41-89F2-B3D963C17EA4@u.washington.edu> <200604141648.27728.daeg@houston.rr.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 14, 2006, at 2:48 PM, David J Brooks wrote: > On Friday 14 April 2006 16:43, Garrett Cooper wrote: >> On Apr 14, 2006, at 1:21 PM, Bigby Findrake wrote: >>> On Fri, 14 Apr 2006, Bigby Findrake wrote: >>> >>> I'm sorry, I'm an idiot - the script, in its current incarnation, >>> needs to be modified. It's doing exactly what you don't want it to >>> do - it will shut down the disk if there was activity. The if >>> statement should read: >>> >>> if [ $STATUS -ne 0 ] >>> >>>> On Fri, 14 Apr 2006, Garrett Cooper wrote: >>>>> Yes. Recently accessed or is being accessed. >>>>> -Garrett >>>> >>>> Well, for a shell-script-hack, which (i) requires no new kernel >>>> and (ii) could be fairly portable but (iii) could conceivably miss >>>> some activity, you could do something like the following: >>>> >>>> #!/bin/sh >>>> >>>> DISKDEV=da0 >>>> SHUTDOWN_COMMAND="camcontrol stop 0,1,0" >>>> SECONDS=60 >>>> >>>> # check for activity >>>> # watch iostat for $SECONDS seconds for anything >>>> >>>> iostat -d $DISKDEV 1 5 | awk ' NR>2 && $2>0 { print "x" } ' |\ >>>> grep x > /dev/null >>>> >>>> STATUS=$? >>>> >>>> if [ $STATUS -eq 0 ] >>>> then >>>> >>>> # there was activity, >>>> $SHUTDOWN_COMMAND >>>> fi >> >> Brilliant! That's exactly what I was looking for! >> The only thing I've noticed is that there is a small amount of data >> being transferred while the disk is idle, so perhaps the sampling >> needs to watch for the amount of data as well as the overall >> transactions being done to properly fix up a script to do this? >> Anyhow, I'll end up doing that, but thanks for the command :). > > Perhaps a softupdate hasn't completed yet? > > David > -- > Sure God created the world in only six days, > but He didn't have an established user-base. Hmmm... didn't think of that. Well, iostat updating did seem to be largely cached (only by running iostat -c did I see a change), so I'm not sure what the best way is of approaching this problem. I sure wish the FreeBSD kernel team would work something out where the hard disk would sleep after a period of time in the kernel ACPI wise >_<. -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?18D2A257-174C-4136-8FF7-C4041E19288E>