Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add a warning about libvirt

  • Loading branch information...
commit 570d18a7b74dac19ba887226de06c4433c7e654f 1 parent 9f41390
@msantos authored
Showing with 19 additions and 1 deletion.
  1. +19 −1 README.markdown
View
20 README.markdown
@@ -1,9 +1,27 @@
Erlang bindings to the libvirt virtualization API.
+## WARNING
+
+ The libvirt API is not safe.
+
+ Aside from being needlessly huge and error prone, the API is
+ inconsistent: some functions require memory to be freed for one
+ type of resource but not for other resource types. Some functions
+ are blocking and will block the Erlang scheduler. Inconsistencies
+ between the same functions for different resources and the sheer
+ size of the API mean that there will be mistakes.
+
+ There isn't really a reason to call the libvirt API directly since
+ libvirt provides a command line shell (virsh) that can be run as a
+ port. The usual reasons given for using an NIF (speed, libraries)
+ in this case don't really apply since virsh looks to be complete and
+ using it as a port is much safer. Alternatively, it may be possible
+ to talk to libvirtd directly from Erlang.
+
## HOW TO BUILD IT
- sudo apt-get install libvert-dev libvirt-bin
+ sudo apt-get install libvirt-dev libvirt-bin
make
Please sign in to comment.
Something went wrong with that request. Please try again.