Bug 787231

Summary: spindown doesn't spin down after waking from suspend
Product: [Fedora] Fedora Reporter: Martin Cermak <mcermak>
Component: spindownAssignee: Martin Cermak <mcermak>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 17CC: hdegoede, mcermak, ville.skytta
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: spindown-0.4.0-8.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 769059 Environment:
Last Closed: 2012-03-16 21:25:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 769059    
Bug Blocks:    

Description Martin Cermak 2012-02-03 16:09:29 UTC
+++ This bug was initially created as a clone of Bug #769059 +++

spindown doesn't spin down disks after waking from suspend.

1) Start spindown
2) Wait for it to spin down disks
3) Suspend
4) Resume
5) spindown no longer spins down disks that were spun up when resuming, it doesn't seem to be doing anything whatsoever any more

Marking as high severity because at least for me, the only reason for potentially wanting to use spindown over a simple "hdparm -S" call in let's say rc.local is that it'd work after suspend/resume.  I've verified that after resuming from suspend, hdparm -y does put the drive to sleep and it doesn't wake up, so I'd say this isn't because something's keeping the disk awake.

I see there's a "repeat" parameter documented at http://code.google.com/p/spindown/wiki/Configuration which I haven't tried, mainly because I fail to see what good would spindown then be over just invoking hdparm -y repeatedly from cron.  The /etc/spindown.conf I'm testing with is included below.

[General]
cycle-time = 60
idle-time = 60
syslog = 1

[Disk 0]
id = scsi-SATA_SAMSUNG_SP2504CS09QJ1UYC38506
spindown = 1
command = hdparm -y

--- Additional comment from mcermak on 2012-01-02 10:56:52 EST ---

You're right. Using your config file I'm able to reproduce the issue. 

> I see there's a "repeat" parameter documented at
> http://code.google.com/p/spindown/wiki/Configuration which I haven't tried,
> mainly because I fail to see what good would spindown then be over just
> invoking hdparm -y repeatedly from cron.  The /etc/spindown.conf I'm testing
> with is included below.

Yes, you can use "repeat = 1" to work around your problem: 

As you can see in Spindown::spinDownIdleDisks(), the daemon periodically checks a condition similar to this one: disk->idleTime() >= disk->spinDownTime(). 

By default (repeat = 0) the spindown command is called just for the first time this condition is met. With "repeat = 1", the spindown command is called repeatedly each time that condition is met. This resolves your issue.

Closing as NOTABUG. Feel free to reopen if your problem persists.

--- Additional comment from mcermak on 2012-01-03 02:47:08 EST ---

> I see there's a "repeat" parameter documented at
> http://code.google.com/p/spindown/wiki/Configuration which I haven't tried,
> mainly because I fail to see what good would spindown then be over just
> invoking hdparm -y repeatedly from cron.

I can understand this is not ideal solution, but this is the way the upstream code works. Better solution could probably be based on a hook in /etc/pm/sleep.d. If you like, please file a new request for feature [rfe] against spindown and I can elaborate on this.

--- Additional comment from updates on 2012-02-02 05:21:58 EST ---

spindown-0.4.0-4.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/spindown-0.4.0-4.fc16

--- Additional comment from mcermak on 2012-02-02 05:27:53 EST ---

> Better solution could probably be based on a hook in /etc/pm/sleep.d. 

Here I come with such a solution.

--- Additional comment from updates on 2012-02-02 12:24:23 EST ---

Package spindown-0.4.0-4.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing spindown-0.4.0-4.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-1177/spindown-0.4.0-4.fc16
then log in and leave karma (feedback).

Comment 1 Fedora Update System 2012-02-21 13:00:40 UTC
spindown-0.4.0-8.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/spindown-0.4.0-8.fc17

Comment 2 Fedora Update System 2012-02-21 17:44:58 UTC
Package spindown-0.4.0-8.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing spindown-0.4.0-8.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-2129/spindown-0.4.0-8.fc17
then log in and leave karma (feedback).

Comment 3 Fedora Update System 2012-03-16 21:25:56 UTC
spindown-0.4.0-8.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.