archipelago: Change DEVICE_PREFIX for blktap
authorChrysostomos Nanakos <cnanakos@grnet.gr>
Thu, 20 Feb 2014 14:16:42 +0000 (16:16 +0200)
committerChrysostomos Nanakos <cnanakos@grnet.gr>
Thu, 20 Feb 2014 14:16:42 +0000 (16:16 +0200)
Return minor number when creating new volume.

python/archipelago/common.py
python/archipelago/vlmc.py

index 16ca92f..a473461 100755 (executable)
@@ -76,8 +76,7 @@ PIDFILE_PATH = "/var/run/archipelago"
 VLMC_LOCK_FILE = 'vlmc.lock'
 LOGS_PATH = "/var/log/archipelago"
 LOCK_PATH = "/var/lock"
-DEVICE_PREFIX = "/dev/xsegbd"
-XSEGBD_SYSFS = "/sys/bus/xsegbd/"
+DEVICE_PREFIX = "/dev/xen/blktap-2/tapdev"
 
 REQS = 512
 
@@ -486,6 +485,9 @@ class Segment(object):
         #fixme blocking....
         try:
             xseg = self.join()
+        except:
+            return
+        try:
             xseg_leave(xseg)
             xseg_destroy(xseg)
         except Exception:
index 6239ae5..445666b 100755 (executable)
@@ -213,7 +213,7 @@ def map_volume(name, **kwargs):
         device = VlmcTapdisk.create(name)
         if device:
             sys.stderr.write(device + '\n')
-            return
+            return device.split(DEVICE_PREFIX)[1]
         raise Error("Cannot map volume '%s'.\n" % name)
     except Exception, reason:
         raise Error(name + ': ' + str(reason))