[Bug 1248012] Re: Resuming after suspend, wrong settings from /etc/hdparm.conf are applied

Launchpad Bug Tracker 1248012 at bugs.launchpad.net
Fri Nov 15 21:53:21 UTC 2013


** Branch linked: lp:ubuntu/hdparm

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to hdparm in Ubuntu.
https://bugs.launchpad.net/bugs/1248012

Title:
  Resuming after suspend, wrong settings from /etc/hdparm.conf are
  applied

Status in “hdparm” package in Ubuntu:
  In Progress

Bug description:
  I have a new installation of Ubuntu 13.10 amd64 with hdparm 9.43-1ubuntu2.
  I have 3 harddisks and I want 1 and only 1 of these disks to spindown after a minute on inactivity.

  My /etc/hdparm.conf looks like this:

  *************************************************
  /dev/disk/by-id/ata-Maxtor_6Y080L0_Y29Q6WSC {
  	spindown_time = 12
  }
  *************************************************

  Resuming after a suspend, in pm-suspend.log I found:

  *************************************************
  Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend:

  /dev/sda:
   setting Advanced Power Management level to 0xfe (254)
   APM_level	= 254

  /dev/sdb:
   setting Advanced Power Management level to 0xfe (254)
   APM_level	= 254

  /dev/sda:
   setting standby to 12 (1 minutes)

  /dev/sdb:
   setting standby to 12 (1 minutes)

  /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend: success.
  ***************************************************

  Notice that /dev/disk/by-id/ata-Maxtor_6Y080L0_Y29Q6WSC was a link to /dev/sda.
  After a reboot, /dev/disk/by-id/ata-Maxtor_6Y080L0_Y29Q6WSC was a link to /dev/sdc and in pm-suspend.log I found:

  ***************************************************
  Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend:

  /dev/sda:
   setting Advanced Power Management level to 0xfe (254)
   APM_level	= 254

  /dev/sdc:
   setting Advanced Power Management level to 0xfe (254)
   APM_level	= 254

  /dev/sda:
   setting Advanced Power Management level to 0xfe (254)
   APM_level	= 254

  /dev/sdc:
   setting standby to 12 (1 minutes)
  /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend: success.
  ***************************************************

  So in the 1st instance the spindown  setting was applied also to a second disk ( the 3rd disk does not support AdvancedPM so it doesn't appear in the log and, BTW, this is another bug now reported in bug #1225169 ). In the 2nd instance, -B254 was applied a second time to /dev/sda.
  IMHO, the problem lies in the variable apm_opt used in /usr/lib/pm-utils/power.d/95hdparm-apm both in resume_hdparm_apm() and resume_hdparm_spindown(). This variable is not initialized at the beginning of each "for" cycle. So when resume_hdparm_apm() is called apm_opt gets the first -B parameter found in /etc/hdparm.conf (or the default -B254) and it is not changed till another -B option is found. Then resume_hdparm_spindown() is called but apm_opt does not change till an -S value is found and so on. 
  So a possible solution is to initialize apm_opt at the beginning of each "for" cycle: a patch is attached.

  Now in pm-suspend.log I correctly find:
  ***************************************************
  Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend:

  /dev/sda:
   setting Advanced Power Management level to 0xfe (254)
   APM_level	= 254

  /dev/sdc:
   setting Advanced Power Management level to 0xfe (254)
   APM_level	= 254

  /dev/sdc:
   setting standby to 12 (1 minutes)
  /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend: success.
  ***************************************************

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/hdparm/+bug/1248012/+subscriptions



More information about the foundations-bugs mailing list