---
 open_issues/9pfs.mdwn | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 open_issues/9pfs.mdwn

diff --git a/open_issues/9pfs.mdwn b/open_issues/9pfs.mdwn
new file mode 100644
index 00000000..a4fe41f1
--- /dev/null
+++ b/open_issues/9pfs.mdwn
@@ -0,0 +1,39 @@
+[[!meta copyright="Copyright © 2026 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+Sergey wrote a [WIP 9pfs](https://github.com/bugaevc/9pfs) translator
+for the Hurd.  9P is a network protocol developed by Plan 9 that
+connects remote computers’ components.  9pfs is a 9P protocol client,
+which can read (write support is not yet implemented) remote
+directories.  9P is perhaps not as robust or as fault tolerant as NFS,
+but it is a rather simple an ingenious protocol that works well enough
+for most use cases.  The Hurd’s NFSv3 translator is an alternative to
+9pfs.
+
+Sergey currently uses 9pfs to build software on the Hurd that is
+edited on GNU/Linux.  You just need to spin up a 9P server on
+GNU/Linux.  [diod](https://github.com/chaos/diod) is a good choice.
+But if the Hurd implemented `virtio-9p`, which qemu supports, then you
+would not need to run diod.
+
+Please note that you can do the same thing with the Hurd’s nfsv3
+client, even though the Hurd’s nfsv3 only supports UDP.
+
+Once there exists a 9P server that runs on the Hurd the following
+would be possible.
+
+- GNU/Linux could read/write several Hurd vms’ filesystems.  For this
+to work, a developer needs to port or write a 9P server for the
+GNU/Hurd.  Once that 9P server worked, then GNU/Linux could mount the
+Hurd’s filesystem.  You just specify that the [filesystem is
+9p](https://docs.kernel.org/filesystems/9p.html).
+
+- The GNU/Hurd could read/write several subhurds’ filesystems and vice
+  versa.
-- 
2.53.0


Reply via email to