On Wed, Aug 20, 2014 at 02:59:23PM +0800, Wang Rui wrote: > Hi, all > > I define a VM with a virtio scsi disk and I specify a controller index. > > <disk type='file' device='disk'> > <driver name='qemu' type='raw' cache='none' io='native'/> > <source file='/mnt/sdb/wangrui/img/sles10_sp3_32_2U-5'/> > <target dev='sdb' bus='scsi'/> > <address type='drive' controller='10' bus='0' target='0' unit='1'/> > </disk> > > Controllers 0-10 are created(in virDomainDefAddDiskControllersForType()) > although I have only one scsi disk. > > Are the controllers 0-9 useful for some reason? > > If the user specifies controller='n', it will cost extra time and memory > for creating controllers from 0 to n-1. It becomes worse if n is a very > large value (Usually it's the user's wrong configuration). I think if > controllers from 0 to n-1 are kept for other use , we should better to > check whether n is meaningless(A very large number is meaningless). > > > BTW, I modify this function. Only the specified index controller will be > created. It seems to work fine. The controller number is designated as an index into the list of <controller> elements. So if you specify controller=10, then it is going to setup a list of 10 <controller> elements. Changing the code to only setup 1 controller element is just plain wrong, since the array indexing in the controller list no longer works. If the user makes a mistake in their config they should just fix that. Trying to protect against user mistakes like this is just a waste of time & counterproductive in the long run because it is affect non-broken configs too. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list