PUFFS is probably nice, but emulating libfuse with librefuse has a
number of drawbacks that I discovered when porting FUSE file systems to
NetBSD. Most importantly it only tends to work for simple cases... more
advanced libfuse functionality is unsupported, so it can only support a
subset of the FUSE filesystems that are out there.
So I think that FUSE is the way to go. It seems to work well enough in
7.x/8.x and as it has been in the ports tree (together with a number of
FUSE file systems) for some time now it's probably more mature than the
PUFFS port which doesn't even seem to be in FreeBSD at all yet.
- Erik
Tuco wrote 2010-08-07 21.14:
I wouldn't waste time on fuse4bsd, it is a dead project. PUFFS looks
much more promising.
PUFFS is included in NetBSD (http://www.netbsd.org/docs/puffs/), and
has been recently ported to FreeBSD (see
http://wiki.freebsd.org/SOC2009TatsianaSeveryna and
http://code.google.com/p/google-summer-of-code-2009-freebsd/downloads/detail?name=Tatsiana_Severyna.tar.gz&can=2&q=).
It has a compatibility layer (librefuse) to make it FUSE-compatible.
On 8/4/10, Axel Beckert<[email protected]> wrote:
Axel Beckert wrote:
It fails with "make: don't know how to make fuse_kernel.h. Stop". This
file can be found in the fuse source package, but is not included in
the libfuse-dev binary package built from it. Probably solvable via a
wishlist against libfuse-dev.
With that file symlinked to fuse4bsd-hg/fuse_module/fuse_kernel.h, it
fails to build after a while with the following error message:
fuse_dev.c: In function `fusedev_clone':
fuse_dev.c:551: error: implicit declaration of function `unit2minor'
This seems to be a change in FreeBSD 8.x, other software (e.g. zaptel)
patched it by replacing "unit2minor(unit)" with just "unit" for
FreeBSD> 800062 or so.
[...]
My patches so far:
All changes are made plus many more are already made in FreeBSD's
sysutils/fusefs-kmod port. So I took all the patches from there and
came much further.
Now it ends with this:
cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc
-I../include -I. -I@ -I@/contrib/altq -finline-limit=8000 --param
inline-unit-growth=100 --param large-function-growth=1000 -fno-common
-mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
-mno-sse3 -ffreestanding -std=iso9899:1999 -c fuse_vnops.c
fuse_vnops.c: In function `create_filehandle':
fuse_vnops.c:1586: error: `struct fuse_open_in' has no member named `mode'
*** Error code 1
Anyway, this is still the fuse kernel module. I couldn't find it in
the modules on disk or those listed with lsmod. So I guess we'll need
that for using FUSE und kbsd anyway and not just only the tools.
That's all for today. :)
Regards, Axel
--
,''`. | Axel Beckert<[email protected]>, http://people.debian.org/~abe/
: :' : | Debian Developer, ftp.ch.debian.org Admin
`. `' | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
`- | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact
[email protected]
Archive: http://lists.debian.org/[email protected]
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]