aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xc/py
diff options
context:
space:
mode:
authoriap10@nidd.cl.cam.ac.uk <iap10@nidd.cl.cam.ac.uk>2003-12-20 23:39:05 +0000
committeriap10@nidd.cl.cam.ac.uk <iap10@nidd.cl.cam.ac.uk>2003-12-20 23:39:05 +0000
commitaf0ffa86fad43a78329e334a105d766b1b0acbb4 (patch)
tree71cdb10273718b3a9418a109466f9276331e9819 /tools/xc/py
parentce423b5dfe323c86c1db29cfe17d1779c4da1829 (diff)
downloadxen-af0ffa86fad43a78329e334a105d766b1b0acbb4.tar.gz
xen-af0ffa86fad43a78329e334a105d766b1b0acbb4.tar.bz2
xen-af0ffa86fad43a78329e334a105d766b1b0acbb4.zip
bitkeeper revision 1.652.2.1 (3fe4dd99t24zD9Wu1VbWDg5fOnRCgQ)
Cleanup and documentation improvement to createlinuxdom.py/XenoUtil.py along with addition of VM auto restart facility (latter curtesy of Mark Williamson).
Diffstat (limited to 'tools/xc/py')
-rw-r--r--tools/xc/py/XenoUtil.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/tools/xc/py/XenoUtil.py b/tools/xc/py/XenoUtil.py
index 850dd8ddb4..81fca35e47 100644
--- a/tools/xc/py/XenoUtil.py
+++ b/tools/xc/py/XenoUtil.py
@@ -12,7 +12,7 @@ def blkdev_name_to_number(name):
# lookup_blkdev_partn_info( '/dev/sda3' )
-def lookup_blkdev_partn_info(partition):
+def lookup_raw_partn(partition):
"""Take the given block-device name (e.g., '/dev/sda1', 'hda')
and return a information tuple ( partn-dev, disc-dev, start-sect,
nr-sects, type )
@@ -32,11 +32,10 @@ def lookup_blkdev_partn_info(partition):
fd = os.popen( '/sbin/sfdisk -s ' + drive + ' 2>/dev/null' )
line = fd.readline()
if line:
- return ( blkdev_name_to_number(drive),
- blkdev_name_to_number(drive),
+ return [( blkdev_name_to_number(drive),
0,
string.atol(line) * 2,
- 'Disk' )
+ 'Disk' )]
return None
# determine position on disk
@@ -48,13 +47,21 @@ def lookup_blkdev_partn_info(partition):
m = re.search( '^' + partition + '\s*: start=\s*([0-9]+), ' +
'size=\s*([0-9]+), Id=\s*(\S+).*$', line)
if m:
- return ( blkdev_name_to_number(partition),
- blkdev_name_to_number(drive),
+ return [( blkdev_name_to_number(drive),
string.atol(m.group(1)),
string.atol(m.group(2)),
- m.group(3) )
+ m.group(3) )]
return None
+def lookup_disk_uname( uname ):
+ ( type, d_name ) = string.split( uname, ':' )
+
+ if type == "phy":
+ segments = lookup_raw_partn( d_name )
+ elif type == "vd":
+ segments = lookup_vd( d_name )
+
+ return segments
def get_current_ipaddr(dev='eth0'):
"""Return a string containing the primary IP address for the given