xend: Add blktap disk type check

Print the following error when you give a wrong disk type to xm commands:
 # xm create /xen/vm1.conf disk='tap:xxx:/xen/root-vm1.img,hda1,w'
 Using config file "/xen/vm1.conf".
 Error: tap:xxx not a valid disk type

 # xm block-attach vm2 tap:yyy:/xen/second.img hdb1 w
 Error: tap:yyy not a valid disk type
 Usage: xm block-attach <Domain> <BackDev> <FrontDev> <Mode>
 [BackDomain]

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
This commit is contained in:
kfraser@localhost.localdomain committed 2007-08-31 14:11:15 +01:00
1 parent c40696b705
commit 9ef6233978
2 files changed
+14

No files matched your search

+6
View File
@@ -28,6 +28,7 @@ from xen.xend.XendError import VmError
from xen.xend.XendDevices import XendDevices
from xen.xend.PrettyPrint import prettyprintstring
from xen.xend.XendConstants import DOM_STATE_HALTED
from xen.xend.server.BlktapController import blktap_disk_types
from xen.xend.server.netif import randomMAC
from xen.util.blkif import blkdev_name_to_number
from xen.util import xsconstants
@@ -1084,6 +1085,11 @@ class XendConfig(dict):
else:
dev_info['driver'] = 'paravirtualised'
if dev_type == 'tap':
if dev_info['uname'].split(':')[1] not in blktap_disk_types:
raise XendConfigError("tap:%s not a valid disk type" %
dev_info['uname'].split(':')[1])
if dev_type == 'vif':
if not dev_info.get('mac'):
dev_info['mac'] = randomMAC()
@@ -7,6 +7,14 @@ from xen.xend.XendLogging import log
phantomDev = 0;
phantomId = 0;
blktap_disk_types = [
'aio',
'sync',
'vmdk',
'ram',
'qcow'
]
class BlktapController(BlkifController):
def __init__(self, vm):
BlkifController.__init__(self, vm)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.