[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH 1/3] uapi nbd: improve doc links to userspace spec

Hi Eric,

On Fri, Mar 10, 2023 at 02:15:23PM -0600, Eric Blake wrote:
> The documentation file also had a stale link to sourceforge; nbd
> ditched that several years ago in favor of github.

While it's accurate to say that we've mostly moved to github, I wouldn't
describe the sourceforge link as "stale"; I've kept the information on
that landing page generally up-to-date over the years (the most recent
change was the addition of the link to Ceph for Windows for a Windows
NBD client, in 2020), and I do still post file releases on sourceforge,

However, I guess it's been long enough, and there isn't really anything
that sourceforge can provide us which github can't, so I suppose we
might as well.

Since there is some stuff on that landing page that is currently nowhere
else, I propose the following patch; comments are welcome. After that,
I'm happy to move the link from the kernel documentation to github.

While we're at it, I noticed that the link to nbd.txt in the qemu
section of doc/proto.md now redirects to gitlab.com, but not to the
specific file anymore. I've updated that link.

diff --git a/README.md b/README.md
index c091406..95df263 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,15 @@ If you want to send a patch, please do not open a pull request; instead, send
 it to the
+Security issues
+If you think you found a security problem in NBD, please contact the
+mailinglist. Do *not* just file an issue for this (although you may do
+so too if you prefer).
+For embargoed issues, please contact Wouter Verhelst <wouter@debian.org>
 Using NBD
@@ -96,6 +105,47 @@ systems; see the "Packaging status" badge below for details.
 For questions, please use the [nbd@other.debian.org](mailto:nbd@other.debian.org) mailinglist.
+Alternate implementations
+Besides this project, the NBD protocol has been implemented by various
+other people. A (probably incomplete) list follows:
+* [nbdkit](https://gitlab.com/nbdkit/nbdkit) is a multithreaded NBD
+  server with a plugin architecture.
+* [libnbd](https://gitlab.com/nbdkit/libnbd) is a library to aid in
+  writing NBD clients
+* [qemu](https://www.qemu.org) contains an embedded NBD server, an
+  embedded NBD client, and a standalone NBD server (`qemu-nbd`). They
+  maintain a [status
+  document](https://gitlab.com/qemu-project/qemu/-/blob/master/docs/interop/nbd.txt)
+  of their NBD implementation.
+* A [GEOM gate-based client implementation for
+  FreeBSD](https://github.com/freqlabs/nbd-client) exists. It has not
+  seen any updates since 2018, and only implements the client side
+  (any server should run on FreeBSD unmodified, however).
+* A Windows client implementation exists as part of the [RBD
+  implementation](https://docs.ceph.com/en/latest/rbd/rbd-windows/) of
+  [Ceph for Windows](https://cloudbase.it/ceph-for-windows/).
+Additionally, these implementations once existed but are now no longer
+* xnbd: This was an NBD implementation with a few extra protocol
+  messages that allowed for live migration. Its code repository has
+  disappeared.
+* enbd: This was an NBD implementation with a few extra protocol
+  messages that allowed extra ioctl calls to be passed on (e.g., the
+  "eject" message for a CD-ROM device that was being exported through
+  NBD). It appears to no longer be maintained.
+* Hurd translator: There was a [proof-of-concept
+  implementation](https://lists.debian.org/debian-hurd/2001/09/msg00174.html)
+  of the NBD protocol once as a translator for The Hurd. We do not know
+  what its current status is.
+* Christoph Lohmann once wrote a client implementation for Plan 9. The
+  link he provided us is now stale; we do not know what its current
+  status is.


I will have a Tin-Actinium-Potassium mixture, thanks.

Reply to: