On 27.08.2010, at 11:53, Markus Armbruster wrote: > Alexander Graf <ag...@suse.de> writes: > >> The monitor command for hotplugging is in i386 specific code. This is just >> plain wrong, as S390 just learned how to do hotplugging too and needs to >> get drives for that. >> >> So let's add a generic copy to generic code that handles drive_add in a >> way that doesn't have pci dependencies. >> >> I'm not fully happy with the patch as is. IMHO there should only be a >> single target agnostic drive_hot_add function available. How we could >> potentially fit IF_SCSI in there I don't know though. >> >> Signed-off-by: Alexander Graf <ag...@suse.de> > > Yes, we need a target-agnostic command to add host block devices. All > we have now is x86's drive_add, which isn't target-agnostic, because its > normal function is to add both host and guest part, and the latter is > entangled with PCI. > > Your patch creates a copy of x86's drive_add with the guest bits > stripped from the code, so it's usable for non-PCI targets. Guest bits > remain in the syntax (first argument, useless baggage with your > command). Ugly. > > I'm working on a clean solution for this problem. If you must have a > solution right away, and ugly is fine, then your patch should do for > now.
Yes. IMHO it'd be useful to just broaden the scope of drive_add for now and remove it later in favor of your improved blockdev_add framework. So I guess the code duplication doesn't really hurt either, since this will all go away anyways. > In my opinion, pci_add, pci_del and drive_add all need to go. They're > insufficiently general, and they fail to separate host and guest parts. Sure :). Please make sure to always keep non-PCI capably systems in mind on your redesign! Alex