/[svn.andrew.net.au]/usbspindownd/usbspindownd.py
ViewVC logotype

Diff of /usbspindownd/usbspindownd.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 34 by apollock, Thu Jan 31 19:03:28 2008 UTC revision 37 by apollock, Fri Feb 1 02:44:52 2008 UTC
# Line 35  spindown_cmd_args = "" Line 35  spindown_cmd_args = ""
35  keep_running = True  keep_running = True
36  signals = {}  signals = {}
37    
38    class Error(Exception):
39            pass
40    
41    
42  def signal_handler(signal, stack):  def signal_handler(signal, stack):
43    global keep_running    global keep_running
44    keep_running = False    keep_running = False
# Line 149  def monitor_disks(config, options): Line 153  def monitor_disks(config, options):
153          if msio == config[disk]["last_msio"]:          if msio == config[disk]["last_msio"]:
154            debug(options, "Disk has been idle since last considered")            debug(options, "Disk has been idle since last considered")
155            now = int(time.time())            now = int(time.time())
156            if (now - config[disk]["timestamp"]) >= config[disk]["wait"]:            if (now - config[disk]["timestamp"]) >= int(config[disk]["wait"]):
157              debug(options, "Disk eligible for spinning down")              debug(options, "Disk eligible for spinning down")
158              # We can spin this disk down              # We can spin this disk down
159              if not config[disk]["spun_down"]:              if not config[disk]["spun_down"]:
160                if spin_down(disk):                if spin_down(options, disk):
161                  debug(options, "Disk spun down")                  debug(options, "Disk spun down")
162                  config[disk]["spun_down"] = True                  config[disk]["spun_down"] = True
163                else:                else:
# Line 164  def monitor_disks(config, options): Line 168  def monitor_disks(config, options):
168              # This disk is ineligible for spinning down at this time              # This disk is ineligible for spinning down at this time
169              debug(options, "Disk idle for %s seconds, but not for long enough (%s)" % (now - config[disk]["timestamp"], config[disk]["wait"]))              debug(options, "Disk idle for %s seconds, but not for long enough (%s)" % (now - config[disk]["timestamp"], config[disk]["wait"]))
170          else:          else:
           debug(options, "Disk not idle (old msio: %s, current msio: %s)" % (config[disk]["last_msio"], msio))  
171            config[disk]["last_msio"] = msio            config[disk]["last_msio"] = msio
172            config[disk]["timestamp"] = int(time.time())            config[disk]["timestamp"] = int(time.time())
173            config[disk]["spun_down"] = False            if config[disk]["spun_down"]:
174                debug(options, "%s presumed spun back up by activity" % (disk))
175                config[disk]["spun_down"] = False
176              debug(options, "Disk not idle (old msio: %s, current msio: %s)" % (config[disk]["last_msio"], msio))
177      debug(options, "Sleeping")      debug(options, "Sleeping")
178      time.sleep(60)      time.sleep(60)
179    debug(options, "Shutting down")    debug(options, "Shutting down")

Legend:
Removed from v.34  
changed lines
  Added in v.37

  ViewVC Help
Powered by ViewVC 1.1.22