On 05/25/2010 04:14 AM, Avi Kivity wrote:
On 05/24/2010 10:38 PM, Anthony Liguori wrote:

- Building a plugin API seems a bit simpler to me, although I'm to
sure if I'd get the
   idea correctly:
The block layer has already some kind of api (.bdrv_file_open, .bdrv_read). We could simply compile the block-drivers as shared objects and create a method
   for loading the necessary modules at runtime.

That approach would be a recipe for disaster. We would have to introduce a new, reduced functionality block API that was supported for plugins. Otherwise, the only way a plugin could keep up with our API changes would be if it was in tree which defeats the purpose of having plugins.

We could guarantee API/ABI stability in a stable branch but not across releases.

We have releases every six months. There would be tons of block plugins that didn't work for random sets of releases. That creates a lot of user confusion and unhappiness.

Regards,

Anthony Liguori



Reply via email to