forked from libguestfs/libnbd
-
Notifications
You must be signed in to change notification settings - Fork 0
NBD client library in userspace // PLEASE DO NOT USE GITHUB FOR ISSUES OR PULL REQUESTS
License
rwmjones/libnbd
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NBD client library in userspace NBD — Network Block Device — is a protocol for accessing Block Devices (hard disks and disk-like things) over a Network. This is the NBD client library in userspace, a simple library for writing NBD clients. The key features are: * Synchronous API for ease of use. * Asynchronous API for writing non-blocking, multithreaded clients. You can mix both APIs freely. * High performance. * Minimal dependencies for the basic library. * Well-documented, stable API. * Bindings in several programming languages. * Shell (nbdsh) for command line and scripting. For documentation, see the ‘docs/’ and ‘examples/’ subdirectories. LICENSE ======= The software is copyright © Red Hat Inc. and licensed under the GNU Lesser General Public License version 2 or above (LGPLv2+). See the file ‘COPYING.LIB’ for details. The examples are under a very liberal license. BUILDING FROM SOURCE ==================== To build from git: autoreconf -i ./configure make make check To build from tarball: ./configure make make check To run the tests under valgrind: make check-valgrind Requirements: * GCC or Clang * GNU make * bash Required for building from git, optional for tarballs: * OCaml is required to run the generator, which is needed for building from git. However it is not needed if building from tarballs. Optional: * GnuTLS is recommended for TLS support. If not available then you will not be able to access encrypted servers and some APIs related to TLS will always return an error. * libxml2 is recommended for NBD URI support. If not available then a few APIs related to URIs will always return an error. * Perl Pod::Man and Pod::Simple to generate the documentation. * OCaml and ocamlfind are both needed to generate the OCaml bindings. * Python >= 3.3 to build the Python 3 bindings and NBD shell (nbdsh). * FUSE to build the nbdfuse program. Optional, only needed to run the test suite: * nbdkit >= 1.12, the nbdkit basic plugins and the nbdkit basic filters are recommended as they are needed to run the test suite. * nbdkit, nbd-server and qemu-nbd if you want to do interoperability testing against these servers. * A C++ compiler is needed if you want to test that the library works from C++. * qemu, qemu-io, qemu-img for interoperability testing. * glib2 for examples that interoperate with the glib main loop. * psktool and certtool (part of GnuTLS) for testing TLS support. * valgrind if you want to run the tests under valgrind. DOWNLOAD TARBALLS ================= Tarballs are available from: http://libguestfs.org/download/libnbd DEVELOPERS ========== Install the valgrind program and development headers. Use: ./configure --enable-gcc-warnings When testing use: make check make check-valgrind For development ideas, see the TODO file. The upstream git repository is: https://github.com/libguestfs/libnbd Please send patches to the libguestfs mailing list: https://www.redhat.com/mailman/listinfo/libguestfs For further information, see: http://libguestfs.org/ https://github.com/NetworkBlockDevice/nbd/blob/master/doc/proto.md https://github.com/libguestfs/nbdkit
About
NBD client library in userspace // PLEASE DO NOT USE GITHUB FOR ISSUES OR PULL REQUESTS
Resources
License
Security policy
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C 45.2%
- OCaml 31.1%
- Makefile 7.0%
- M4 5.5%
- Shell 4.5%
- Python 4.3%
- Other 2.4%