WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Add methods to read/write Vm/Domain store entries.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Add methods to read/write Vm/Domain store entries.
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 14 Sep 2005 15:48:13 +0000
Delivery-date: Wed, 14 Sep 2005 15:46:53 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID a8edb2655c5d220b1bbf2b8d8415aae0ac136da3
# Parent  2277377dfc3aafee592c5c411ec135ee27bfa983
Add methods to read/write Vm/Domain store entries.
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>

diff -r 2277377dfc3a -r a8edb2655c5d tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Wed Sep 14 15:25:28 2005
+++ b/tools/python/xen/xend/XendDomainInfo.py   Wed Sep 14 15:47:48 2005
@@ -149,7 +149,7 @@
         path = "/".join(db.getPath().split("/")[0:-2])
         vm = cls(uuid, path, db)
         vm.setDomid(domid)
-        vm.name = vm.readStore("name")
+        vm.name = vm.readVm("name")
         try:
             db.readDB()
         except: pass
@@ -262,10 +262,26 @@
         self.bootloader = None
         self.device_model_pid = 0
 
-        xstransact.Write(self.path, "uuid", self.uuid)
-
-    def readStore(self, key):
-        return xstransact.Read(self.path, key)
+        self.writeVm("uuid", self.uuid)
+        self.writeDom("vm", self.path)
+
+    def readVm(self, *args):
+        return xstransact.Read(self.path, *args)
+
+    def writeVm(self, *args):
+        return xstransact.Write(self.path, *args)
+
+    def removeVm(self, *args):
+        return xstransact.Remove(self.path, *args)
+
+    def readDom(self, *args):
+        return xstransact.Read(self.path, *args)
+
+    def writeDom(self, *args):
+        return xstransact.Write(self.path, *args)
+
+    def removeDom(self, *args):
+        return xstransact.Remove(self.path, *args)
 
     def setDB(self, db):
         self.db = db
@@ -288,14 +304,14 @@
         @param dom: domain id
         """
         self.domid = domid
-        xstransact.Write(self.path, "domid", "%i" % self.domid)
+        self.writeDom("domid", "%i" % self.domid)
 
     def getDomain(self):
         return self.domid
 
     def setName(self, name):
         self.name = name
-        xstransact.Write(self.path, "name", name)
+        self.writeVm("name", name)
 
     def getName(self):
         return self.name
@@ -303,32 +319,32 @@
     def setStoreRef(self, ref):
         self.store_mfn = ref
         if ref:
-            xstransact.Write(self.path, "store/ring-ref", "%i" % ref)
+            self.writeDom("store/ring-ref", "%i" % ref)
         else:
-            xstransact.Remove(self.path, "store/ring-ref")
+            self.removeDom("store/ring-ref")
 
     def setStoreChannel(self, channel):
         if self.store_channel and self.store_channel != channel:
             self.store_channel.close()
         self.store_channel = channel
         if channel:
-            xstransact.Write(self.path, "store/port", "%i" % channel.port1)
+            self.writeDom("store/port", "%i" % channel.port1)
         else:
-            xstransact.Remove(self.path, "store/port")
+            self.removeDom("store/port")
 
     def setConsoleRef(self, ref):
         self.console_mfn = ref
         if ref:
-            xstransact.Write(self.path, "console/ring-ref", "%i" % ref)
+            self.writeDom("console/ring-ref", "%i" % ref)
         else:
-            xstransact.Remove(self.path, "console/ring-ref")
+            self.removeDom("console/ring-ref")
 
     def setMemoryTarget(self, target):
         self.memory_target = target
         if target:
-            xstransact.Write(self.path, "memory/target", "%i" % target)
+            self.writeDom("memory/target", "%i" % target)
         else:
-            xstransact.Remove(self.path, "memory/target")
+            self.removeDom("memory/target")
 
     def update(self, info=None):
         """Update with  info from xc.domain_getinfo().
@@ -668,7 +684,7 @@
         d = {}
         for v in range(0, vcpus):
             d["cpu/%d/availability" % v] = "online"
-        xstransact.Write(self.path, d)
+        self.writeVm(d)
 
     def init_image(self):
         """Create boot image handler for the domain.
@@ -801,12 +817,12 @@
         port = 0
         if path:
             try:
-                port = int(xstransact.Read(self.path, path))
+                port = int(self.readDom(path))
             except:
                 # if anything goes wrong, assume the port was not yet set
                 pass
         ret = EventChannel.interdomain(0, self.domid, port1=port, port2=0)
-        xstransact.Write(self.path, path, "%i" % ret.port1)
+        self.writeDom(path, "%i" % ret.port1)
         return ret
         
     def create_channel(self):
@@ -1053,20 +1069,20 @@
             availability = "offline"
         else:
             availability = "online"
-        xstransact.Write(self.path, "cpu/%d/availability" % vcpu, availability)
+        self.writeVm("cpu/%d/availability" % vcpu, availability)
 
     def shutdown(self, reason):
         if not reason in shutdown_reasons.values():
             raise XendError('invalid reason:' + reason)
-        xstransact.Write(self.path, "control/shutdown", reason)
+        self.writeVm("control/shutdown", reason)
         if not reason in ['suspend']:
             self.shutdown_pending = {'start':time.time(), 'reason':reason}
 
     def clear_shutdown(self):
-        xstransact.Remove(self.path, "control/shutdown")
+        self.removeVm("control/shutdown")
 
     def send_sysrq(self, key=0):
-        xstransact.Write(self.path, "control/sysrq", '%c' % key)
+        self.writeVm("control/sysrq", '%c' % key)
 
     def shutdown_time_left(self, timeout):
         if not self.shutdown_pending:

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Add methods to read/write Vm/Domain store entries., Xen patchbot -unstable <=