[Tux3] Tux3 fuse port

Daniel Phillips phillips at phunq.net
Sat Sep 6 01:16:18 PDT 2008


With a little revising, here are the commands to play with Conrad's
fuse port of tux3 as slightly hacked by me:

   dd if=/dev/zero of=testdev bs=1 count=1 seek=1M
   ./tux3 mkfs testdev
   mkdir tuxtest
   sudo ./tux3fs testdev tuxtest
   sudo ls -ld tuxtest
   <cat, cp, rm, ls, etc>

Nothing to it, right?  Well, it is fragile and incomplete but it is
cool that anything at all works at this point.  I added ls support
yesterday.

Conrad, I would like to hand this back to you and go back to working
on the guts of tux3.  The biggest issue is, you can't just use the
path that fuse hands you as a filename.  At least it has to be broken
into a directory path and a filename.  But that is not the way we
should do it here, notice that fuse has fuse_file_info->fh where we
can store the tux3 inode in the fuse open, then ignore the filename
in all other operations except for debug traces.  Exceptions to this
are unlink and rename, where the only choice I can see is to split
the fuse name into path and file.  I am not sure why fuse does not do
that for us.

I am seeing "device is busy", which prevents unmount after any write.
(I use umount -l to work around this so I can keep on testing without
rebooting.)  I suspect this is a fuse bug: there should be no way we
can force fuse to hold reference counts on kernel objects with the
simple way we are using it.  It is probably because some method that
fuse always expect, is one of the ones not implemented yet, and that
confuses fuse.  It is also possible it is a fixed bug.  I did not
investigate very far.

There is a lot of value to be had from this fusing.  It makes it
awfully easy to notice brokenness and incompleteness.  Creating even
more pressure to progress...

Regards,

Daniel

_______________________________________________
Tux3 mailing list
Tux3 at tux3.org
http://tux3.org/cgi-bin/mailman/listinfo/tux3



More information about the Tux3 mailing list