On 24.08.2010, at 20:35, Anthony Liguori wrote: > On 08/24/2010 08:44 AM, Daniel P. Berrange wrote: >> >>>> Actually this SCSI example I give above is appending a drive to an existing >>>> bus (scsi0), in slot 1 (scsi-id=1). To best of my knowledge there is no >>>> remaining use case that requires use of IF_SCSI, IF_IDE, etc. The IF_NONE >>>> approach can cope with all, modulo bugs that appear periodically with code >>>> that mistakenly checks for a particular IF_XXX constant. >>>> >>>> If you wanted to also create a new SCSI bus, before creating the drive on >>>> it, you'd need to run three commands in total: >>>> >>>> device_add lsi,id=scsi0,bus=pci.0,addr=0x7 >>>> drive_add dummy >>>> file=/var/lib/libvirt/images/data.img,if=none,id=drive-scsi0-0-1,format=raw >>>> device_add >>>> scsi-disk,bus=scsi0.0,scsi-id=1,drive=drive-scsi0-0-1,id=scsi0-0-1 >>>> >>>> >>> Nice - so we can just deprecate if=!none? >>> >> In theory yes, but its not nice to tell users to switch everything over to >> use if=none, if we're going to deprecate that too in the next release when >> blockdev appears. Might as well just deprecate entire of drive_add/-drive >> at once. >> > > I think what Alex is really asking is can we have 'blockdev_add > var0=val0,var1=val1[,...]' implemented as 'drive_add dummy > if=none,var0=val0,var1=val1[,...]'. I don't know the answer to why that > isn't possible or desirable.
Uh, I was really asking for why we need something not drive_add and instead have yet another iteration of drive parameter. But oh well. I guess we deferred a bit from the original thread. What's the preferred way to go here? Remove the IF_SCSI case completely or keep two copies of the drive_add function around? Alex