From: Richard W.M. Jones Date: Thu, 17 Oct 2019 15:49:43 +0000 (+0100) Subject: Changes in libnbd. X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=dfa112a9cb99f3bb38cfed8a06d9471a59d3dbfc;p=libguestfs-talks.git Changes in libnbd. --- diff --git a/2019-kvm-forum/papers/NBD-changes.tex b/2019-kvm-forum/papers/NBD-changes.tex index c588de1..a061f99 100644 --- a/2019-kvm-forum/papers/NBD-changes.tex +++ b/2019-kvm-forum/papers/NBD-changes.tex @@ -84,4 +84,102 @@ NBD URI specification was introduced. \section{libnbd} +Project started last day of April 2019. + +\begin{description} + +\item[May 2019] + +Most \verb|NBD_CMD_| implemented, and working connection to nbdkit, +within first 10 days. Interoperating with qemu-nbd within 2 weeks. +TLS implemented and interoperating with qemu-nbd within 16 days. + +Generated C API, Python 3 bindings and \verb|nbdsh|, OCaml bindings, +hierarchical state machine. + +Export names + +Subprocess server (\verb|nbd_connect_command|) + +Structured replies + +\verb|NBD_CMD_BLOCK_STATUS| and \verb|base:allocation| + +Multiple commands ready to issue and in flight + +Callbacks + +``Internal'' multi-conn support added then removed + +Valgrinding + +Some API calls can be handled without taking the lock + +libnbd $0.1.2$ was released on May $30^{th}$ 2019. + +\item[June 2019] + +NBD URIs supported + +\verb|nbdsh -c| parameter + +\verb|MSG_MORE| optimization + +Better handling of multiple in-flight commands, a lot of +optimization, and finessing of the API. + +Python bindings custom exception \verb|nbd.Error| + +\item[July 2019] + +Port to FreeBSD + +Further work on callbacks + +Optimize command queue to be $O(1)$ instead of $O(n)$ + +Symbol versions + +libnbd $0.9.6$ was released on Jul $30^{th}$ 2019. + +\item[August 2019] + +More tests + +Debug output includes function names, parameters, return values + +Optional function parameters + +Man pages for every API + +Port to RHEL 7 + +First stable version $1.0$ was released on August $27^{th}$ 2019. + +\item[September 2019] + +Support for \verb|FAST_ZERO| + +New APIs for testing servers without Structured Replies and explicitly +setting handshake flags. New APIs for finding out if TLS was +negotiated, and what NBD protocol is being used. + +Reproducible build + +Two CVEs found + +Share \verb|nbd-protocol.h| file with nbdkit + +\item[October 2019] + +Systemd socket activation + +Fuzz testing (discovers one serious CVE) + +New API to connect directly to socket + +New \verb|nbdfuse| tool + +\end{description} + \end{document}