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.
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 4RHEL 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 5RHEL 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 8RHEL 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.
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
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: