1
0
Fork 0

Store old elevator in storage

This commit is contained in:
Jan Kaluza 2012-03-02 07:20:13 +01:00
parent 733b5eb753
commit 8fabbb928f
2 changed files with 14 additions and 0 deletions

View file

@ -21,7 +21,9 @@ class DiskPlugin(tuned.plugins.Plugin):
self.spindown = ["0", "250", "230", "210", "190", "170", "150", "130", "110", "90", "70", "60"]
self.levels = len(self.power)
self._elevator_set = False
self._old_elevator = ""
tuned.utils.storage.Storage.get_instance().data["disk"] = {}
self._load_monitor = tuned.monitors.get_repository().create("disk", devices)
@classmethod
@ -50,6 +52,17 @@ class DiskPlugin(tuned.plugins.Plugin):
if len(self._options["elevator"]) == 0:
return False
try:
f = open(os.path.join("/sys/block/", dev, "queue/scheduler"), "w")
self._old_elevator = f.read()
f.close()
except (OSError,IOError) as e:
log.error("Getting elevator of %s error: %s" % (dev, e))
storage = tuned.utils.storage.Storage.get_instance()
storage.data["disk"] = {dev : self._old_elevator}
storage.save()
log.debug("Applying elevator: %s < %s" % (dev, self._options["elevator"]))
try:
f = open(os.path.join("/sys/block/", dev, "queue/scheduler"), "w")

View file

@ -40,6 +40,7 @@ class Storage(tuned.patterns.Singleton):
def save(self):
try:
log.debug("Storing %s" % (str(self._data)))
with open(DEFAULT_STORAGE_FILE, "w") as f:
pickle.dump(self._data, f)
except (OSError,IOError) as e: