--- tools/python/xen/xend/server/blkif.py | 3 +++ tools/python/xen/xm/create.py | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) Index: build-32-unstable-13534/tools/python/xen/xend/server/blkif.py =================================================================== --- build-32-unstable-13534.orig/tools/python/xen/xend/server/blkif.py +++ build-32-unstable-13534/tools/python/xen/xend/server/blkif.py @@ -38,6 +38,7 @@ class BlkifController(DevController): """@see DevController.getDeviceDetails""" uname = config.get('uname', '') dev = config.get('dev', '') + protocol = config.get('protocol') if 'ioemu:' in dev: (_, dev) = string.split(dev, ':', 1) @@ -85,6 +86,8 @@ class BlkifController(DevController): front = { 'virtual-device' : "%i" % devid, 'device-type' : dev_type } + if protocol: + front.update({ 'protocol' : protocol }); return (devid, back, front) Index: build-32-unstable-13534/tools/python/xen/xm/create.py =================================================================== --- build-32-unstable-13534.orig/tools/python/xen/xm/create.py +++ build-32-unstable-13534/tools/python/xen/xm/create.py @@ -537,7 +537,7 @@ def configure_image(vals): def configure_disks(config_devs, vals): """Create the config for disks (virtual block devices). """ - for (uname, dev, mode, backend) in vals.disk: + for (uname, dev, mode, backend, protocol) in vals.disk: if uname.startswith('tap:'): cls = 'tap' else: @@ -549,6 +549,8 @@ def configure_disks(config_devs, vals): ['mode', mode ] ] if backend: config_vbd.append(['backend', backend]) + if protocol: + config_vbd.append(['protocol', protocol]) config_devs.append(['device', config_vbd]) def configure_pci(config_devs, vals): @@ -803,7 +805,10 @@ def preprocess_disk(vals): n = len(d) if n == 3: d.append(None) + d.append(None) elif n == 4: + d.append(None) + elif n == 5: pass else: err('Invalid disk specifier: ' + v)