
David Anderson wrote:
This layout does not scale well, especially if the plan is to introduce support for other virtualization engines. So, I'd like to propose implementing a vtable-based interface. We define a structure of all the callback functions a backend can/must provide. Then, the open functions, depending on the URI passed in, will initialize a certain backend and let it populate the vtable with its callbacks.
I think this is a sane thing to do. My personal preference would be something more akin to how Linux handles this sort of things. Function pointers in an otherwise opaque type and backend "modules" that register themselves. We could eventually get to a place where hypervisors were supported just by adding plugins. Regards, Anthony Liguori
- Dave, going back to preparing his remote-xend patch.