diff options
author | iap10@nidd.cl.cam.ac.uk <iap10@nidd.cl.cam.ac.uk> | 2003-12-20 23:39:05 +0000 |
---|---|---|
committer | iap10@nidd.cl.cam.ac.uk <iap10@nidd.cl.cam.ac.uk> | 2003-12-20 23:39:05 +0000 |
commit | af0ffa86fad43a78329e334a105d766b1b0acbb4 (patch) | |
tree | 71cdb10273718b3a9418a109466f9276331e9819 /tools/xc/py | |
parent | ce423b5dfe323c86c1db29cfe17d1779c4da1829 (diff) | |
download | xen-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.py | 21 |
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 |