+ def _map_partition(self, dev, index, start, end):
+ name = "%sp%d" % (os.path.basename(dev), index)
+ tablefd, table = tempfile.mkstemp()
+ try:
+ size = end - start + 1
+ os.write(tablefd, "0 %d linear %s %d" % (start, dev, size))
+ dmsetup('create', name, table)
+ finally:
+ os.unlink(table)
+
+ def _unmap_partition(self, dev, index):
+ name = "%sp%d" % (os.path.basename(dev), index)
+ if not os.path.exists("/dev/mapper/%s" % name):
+ return
+
+ dmsetup('remove', name)
+ time.sleep(0.5)
+