[libvirt] Move esxVMX_IndexToDiskName to util.c

Matthias Bolte matthias.bolte at googlemail.com
Fri Nov 20 19:16:47 UTC 2009


I needed the inverse function to virDiskNameToIndex() for the ESX
driver and added it to esx_vmx.c. The pending VirtualBox 3.1 patch
needs disk index to disk name mapping too. So I want to move
esxVMX_IndexToDiskName() to util.c.

esxVMX_IndexToDiskName() handles indices up to 701. This limit comes
from a gap in the disk name to disk index mapping of
virDiskNameToIndex():

sdzy -> 700
sdzz -> 701
sdaaa -> 728
sdaab -> 729

This line in virDiskNameToIndex() causes this gap:

idx = (idx + i) * 26;

It can be fixed by altering this line to:

idx = (idx + (i < 1 ? 0 : 1)) * 26;

But this change breaks compatibility for indices > 701.

So, I made two patches for either option and ask you for comments.

Matthias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: virIndexToDiskName_A.diff
Type: text/x-diff
Size: 5209 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20091120/66c130f9/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: virIndexToDiskName_B.diff
Type: text/x-diff
Size: 5801 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20091120/66c130f9/attachment-0003.bin>


More information about the libvir-list mailing list