Changes in libnbd.
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 17 Oct 2019 15:49:43 +0000 (16:49 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Fri, 18 Oct 2019 10:26:15 +0000 (11:26 +0100)
2019-kvm-forum/papers/NBD-changes.tex

index c588de1..a061f99 100644 (file)
@@ -84,4 +84,102 @@ NBD URI specification was introduced.
 \f
 \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}