From owner-freebsd-questions@FreeBSD.ORG Fri Apr 14 23:58:41 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ADC2016A401 for ; Fri, 14 Apr 2006 23:58:41 +0000 (UTC) (envelope-from youshi10@u.washington.edu) Received: from mxout3.cac.washington.edu (mxout3.cac.washington.edu [140.142.32.166]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2EE5C43D46 for ; Fri, 14 Apr 2006 23:58:41 +0000 (GMT) (envelope-from youshi10@u.washington.edu) Received: from smtp.washington.edu (smtp.washington.edu [140.142.32.139]) by mxout3.cac.washington.edu (8.13.6+UW06.03/8.13.5+UW06.03) with ESMTP id k3ENwegD015983 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 14 Apr 2006 16:58:40 -0700 X-Auth-Received: from [128.208.5.24] (shiina.dyn.cs.washington.edu [128.208.5.24]) (authenticated authid=youshi10) by smtp.washington.edu (8.13.6+UW06.03/8.13.6+UW06.03) with ESMTP id k3ENwdCT004089 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT); Fri, 14 Apr 2006 16:58:40 -0700 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> Mime-Version: 1.0 (Apple Message framework v749.3) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <18D2A257-174C-4136-8FF7-C4041E19288E@u.washington.edu> Content-Transfer-Encoding: 7bit From: Garrett Cooper Date: Fri, 14 Apr 2006 17:00:55 -0700 To: David J Brooks X-Mailer: Apple Mail (2.749.3) X-Uwash-Spam: Gauge=IIIIIII, Probability=7%, Report='__CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __SANE_MSGID 0, __STOCK_PHRASE_7 0' Cc: freebsd-questions@freebsd.org Subject: Re: Determining whether or not a SCSI disk is in use X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Apr 2006 23:58:41 -0000 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