Description of problem: I have 3 machines. If I create a file to be used as a common drive between the 3 machines, it works fine. My config line for that is as follows: # Other xen config files have different hda, but same hdb disk = [ 'file:/root/JB1,hda,w', 'file:/root/JB-common-1,hdb,w!' ] # Illustrate successful run [root@bid-08 ~]# for i in 1 2 3 ; do xm create /etc/xen/jx$i; done Using config file "/etc/xen/jx1". Started domain jb-xen-01 Using config file "/etc/xen/jx2". Started domain jb-xen-02 Using config file "/etc/xen/jx3". Started domain jb-xen-03 However, if I try to have 2 or more files for multiple shared drives, I can only start two virtual machines. # New disk line from xen config files disk = [ 'file:/root/JB1,hda,w', 'file:/root/JB-common-1,hdb,w!', 'file:/root/JB-common-2,hdc,w!' ] # Illustration of failure [root@bid-08 ~]# for i in 1 2 3 ; do xm create /etc/xen/jx$i; done Using config file "/etc/xen/jx1". Started domain jb-xen-01 Using config file "/etc/xen/jx2". Started domain jb-xen-02 Using config file "/etc/xen/jx3". Error: destroyDevice() takes exactly 3 arguments (2 given) Version-Release number of selected component (if applicable): xen-3.0.3-25.el5 How reproducible: always Steps to Reproduce: 1. create at least 2 files to be used as hard drives on VMs 2. try to start more than 2 VMs that share more than one drive
Are these PV or FV guests, btw? For PV, you want "tap:aio:" instead of "file:". But it still looks like a bug in the python code somewhere.
FV guest
You are limited to 8 loop devices by default. Your config has 3 disks, so 3x3 == 9 loop devices - one more than you have. If you need more then you can use the 'max_loop' parameter for the loop.ko kernel module, but adding an appropriate line to /etc/modprobe.conf
Indeed, that is the problem. Makes sense. Would it be possible to print an error that said something like, "Max number of loop devices exceeded" ? Then I would have figured it out by myself pretty quickly. So, this is NOTABUG; but I won't change the state if you want to make error message changes.
Closing as not a nbug as per comment #4.