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

Re: fuse4bsd on kfreebsd?



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<abe@debian.org>  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<abe@debian.org>, 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 debian-bsd-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org
Archive: 20100804221956.GQ11022@sym.noone.org">http://lists.debian.org/20100804221956.GQ11022@sym.noone.org





Reply to: