Bug 784308

Summary: ktune breaks disks when pecifying just the device (e. g. /dev/sda) for ELEVATOR_TUNE_DEVS
Product: Red Hat Enterprise Linux 6 Reporter: Frank Danapfel <fdanapfe>
Component: tunedAssignee: Jan Vcelak <jvcelak>
Status: CLOSED ERRATA QA Contact: Branislav Blaškovič <bblaskov>
Severity: high Docs Contact:
Priority: medium    
Version: 6.2CC: azelinka, bblaskov, ddumas, linux, tsmetana
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: tuned-0.2.19-8.el6 Doc Type: Bug Fix
Doc Text:
Cause: ELEVATOR_TUNE_DEVS in /etc/sysconfig/ktune set to a disk device (from /dev) instead of providing a disk scheduler control file (from /sys). Consequence: Scheduler setting is not written to a disk scheduler control file, but directly into to disk device file. This will break the content on the disk. Fix: Patch applied to check the value of ELEVATOR_TUNE_DEVS and allow only writing into a disk scheduler control file. Result: ktune will inform that the value of ELEVATOR_TUNE_DEVS is invalid under a given circumstances and will not damage the disk content.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 10:05:05 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:

Description Frank Danapfel 2012-01-24 14:27:11 UTC
Description of problem:
/usr/share/doc/tuned-0.2.19/README.ktune states the following:"ELEVATOR_TUNE_DEVS references the devices which should be tuned with the ELEVATOR". Also the ktune.sysconfig file for each tuned profile contains the following comment: "# These are the devices, that should be tuned with the ELEVATOR". 

From these comments it is not really clear that the "ELEVATOR_TUNE_DEVS" variable always has to contain the full path to the "../queue/scheduler" file. If the default "ELEVATOR_TUNE_DEVS="/sys/block/{sd,cciss,dm-}*/queue/scheduler"" is replaced with "ELEVATOR_TUNE_DEVS="/dev/vda"" then ktune will try to write the elevator setting directly to the /dev/vda" which breaks the disk.

Version-Release number of selected component (if applicable):
tuned-0.2.19-6.el6.noarch

How reproducible:
always

Steps to Reproduce:
1. change /etc/tune-profiles/<profilename>/ktune.sysconfig to contain the following  "ELEVATOR_TUNE_DEVS="/dev/vda""
2. run "tuned-adm profile <profilename> 
3. watch it trying to read the cureent scheduler setting directly from /dev/vda and then writing the new setting directly to the device
  
Actual results:
broken disk after tuned-adm has run

Expected results:
tuned/ktune should be able to figure out the correct "../queue/scheduler" file to write the elevator setting if ELEVATOR_TUNE_DEVS" contains just a list of devices like "vda, dm1".

Additional info:

Comment 4 RHEL Program Management 2012-07-10 06:44:25 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 5 RHEL Program Management 2012-07-11 01:53:42 UTC
This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development.  This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4.

Comment 8 RHEL Program Management 2012-09-14 16:10:44 UTC
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release.  Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.

Comment 11 Jan Vcelak 2012-09-27 14:32:29 UTC
Resolved in tuned-0.2.19-8.el6

Comment 15 errata-xmlrpc 2013-02-21 10:05:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0386.html