-*- mode: outline -*-

* example fusexmp crash

Running the example fusexmp file system, the translator crashes (and the whole
system might also crash) if you try to run a binary from within that file
system, e.g.

$ settrans -ac f ./fusexmp
$ cd f
$ bin/ls

** single-threaded operation

   The libfuse/Linux does allow to force single-threaded operation (`-s'
   command line arg).  This was somewhat the hardcoded default case for
   the Hurd variant so far (mainly for debugging reasons).  

   Single-threaded operation is necessary for parts of the Perl and
   Python bindings, where the filesystem callbacks would confuse the
   main interpreter. 

   libfuse/Hurd does use multi-threaded operation by default as well
   now. This is, the fusexmp translator should work like a charm now (at
   least when it comes to this issue).


* example null

The example null file system does not return zeroes (which it is supposed to
do, I think):

$ settrans -ac n ./null
$ od -x -N 10 < n
0000000 01f4 0000 0000 3000 0002
0000012

Is the following fix correct?

--- netfs.c     15 Nov 2005 23:43:05 -0000      1.30
+++ netfs.c     2 Dec 2005 00:03:45 -0000
@@ -1090,6 +1101,8 @@
      || (err = fshelp_access(&node->nn_stat, S_IREAD, cred)))
     goto out;

+  memset(data, 0, *len);
+
   int sz = fuse_ops ?
     (fuse_ops->read(node->nn->path, data, *len, offset, &node->nn->info)) :
     (fuse_ops_compat->read(node->nn->path, data, *len, offset));

** libfuse/Linux doesn't return null-bytes as well

   Since it isn't of any practical use for a meaningful filesystem, 
   I would vote against applying it.


* <hurd/netfs.h>

We're supposed to define netfs_make_user().

** are we?

   I cannot find any appearance in the Hurd sources except for the
   netfs.h header file.

   Is this just one relict there or is it of any use? The task sounds
   rather like another libraries and not a filesystem's job.


* readdir()

  FUSE's readdir() needs to be supported in netfs_get_dirents().

** this was introduced by an api change with version 2.3

   ... and should finally be supported. But still needs some more
   testing.  I've just run the fusexmp_fh example so far. 
