[Libguestfs] [PATCH nbdkit UNFINISHED] Add the ability to write plugins in golang.
Richard W.M. Jones
rjones at redhat.com
Wed Apr 15 18:02:46 UTC 2020
On Wed, Apr 15, 2020 at 06:43:52PM +0100, Daniel P. Berrangé wrote:
> On Wed, Apr 15, 2020 at 06:04:26PM +0100, Richard W.M. Jones wrote:
> > On Wed, Apr 15, 2020 at 05:27:07PM +0100, Daniel P. Berrangé wrote:
> > > On Fri, Apr 10, 2020 at 02:51:52PM +0100, Richard W.M. Jones wrote:
> > > > Similar to C, OCaml and Rust, this is not a plugin per se. Instead
> > > > it's more of a method and set of tests around writing plugins in
> > > > golang. They are standalone programs that compile into shared objects
> > > > that nbdkit can then load (so there is no "go plugin" between nbdkit
> > > > and the user plugin, unlike in scripting languages like Perl).
> > >
> > > Why did you choose this approach ?
> >
> > Do you mean the design of constructing the .so file directly using
> > --buildmode=c-shared? I wasn't aware there was any other way to do
> > it. Should we use some kind of module loading instead?
>
> No, I was mostly meaning the "copylib" approach to plugins, where the
> plugin author owns the whole stack.
OK I see. In fact for the OCaml nbdkit bindings we provide a nice
OCaml library which the end user will link to their code to create the
final plugin. Ideally I want the same thing for Go too. (For Rust,
unfortunately, we didn't get this far yet, so basically Rust plugins
are programmed to the C API.)
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v
More information about the Libguestfs
mailing list