Hello,
I have a problem shutting down a domU with xen-4.1.2, which doesn't terminate
the corresponding blktap2 process, since one (other) VM uses a image file,
which contains spaces in its file name.
/var/log/xen/xend-debug.log has the following information:
Unhandled exception in thread started by
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/xen/xend/server/BlktapController.py",
line 199, in finishDeviceCleanup
TapdiskController.destroy(path)
File "/usr/lib/python2.6/dist-packages/xen/xend/server/BlktapController.py",
line 289, in destroy
tapdisk = TapdiskController.fromDevice(device)
File "/usr/lib/python2.6/dist-packages/xen/xend/server/BlktapController.py",
line 278, in fromDevice
TapdiskController.list())
File "/usr/lib/python2.6/dist-packages/xen/xend/server/BlktapController.py",
line 256, in list
key, value = pair.split('=')
ValueError: need more than 1 value to unpack
BlktapController calls "tap-ctl list", which outputs one line for each
process. Each line contains key=value pairs without any quoting.
# tap-ctl list | grep 'args=.*:.* '
pid=10145 minor=18 state=0 args=aio:/var/lib/libvirt/images/Xen Windows
drivers (gplpv 308).iso
(passing the output of tap-ctl through a pipe is important, since it switches
to a different list-format when STDOUT is a tty.)
BlktapController splits the output into lines using \n, then each line at each
space, and finally each of these 'words' at the '=', which fails for the
filename.
tap-ctl should probably be changed to use some quoting when printing the
filename.
Sincerely
Philipp
--
Philipp Hahn Open Source Software Engineer hahn@univention.de
Univention GmbH Linux for Your Business fon: +49 421 22 232- 0
Mary-Somerville-Str.1 D-28359 Bremen fax: +49 421 22 232-99
http://www.univention.de/
I have a problem shutting down a domU with xen-4.1.2, which doesn't terminate
the corresponding blktap2 process, since one (other) VM uses a image file,
which contains spaces in its file name.
/var/log/xen/xend-debug.log has the following information:
Unhandled exception in thread started by
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/xen/xend/server/BlktapController.py",
line 199, in finishDeviceCleanup
TapdiskController.destroy(path)
File "/usr/lib/python2.6/dist-packages/xen/xend/server/BlktapController.py",
line 289, in destroy
tapdisk = TapdiskController.fromDevice(device)
File "/usr/lib/python2.6/dist-packages/xen/xend/server/BlktapController.py",
line 278, in fromDevice
TapdiskController.list())
File "/usr/lib/python2.6/dist-packages/xen/xend/server/BlktapController.py",
line 256, in list
key, value = pair.split('=')
ValueError: need more than 1 value to unpack
BlktapController calls "tap-ctl list", which outputs one line for each
process. Each line contains key=value pairs without any quoting.
# tap-ctl list | grep 'args=.*:.* '
pid=10145 minor=18 state=0 args=aio:/var/lib/libvirt/images/Xen Windows
drivers (gplpv 308).iso
(passing the output of tap-ctl through a pipe is important, since it switches
to a different list-format when STDOUT is a tty.)
BlktapController splits the output into lines using \n, then each line at each
space, and finally each of these 'words' at the '=', which fails for the
filename.
tap-ctl should probably be changed to use some quoting when printing the
filename.
Sincerely
Philipp
--
Philipp Hahn Open Source Software Engineer hahn@univention.de
Univention GmbH Linux for Your Business fon: +49 421 22 232- 0
Mary-Somerville-Str.1 D-28359 Bremen fax: +49 421 22 232-99
http://www.univention.de/