Skip site navigation (1)Skip section navigation (2)
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>