OpenWrt Forum Archive

Topic: compFUSEd - compressed filesystem (for external USB sticks) - problems

The content of this topic has been archived on 10 Feb 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

As I want to replace PC Samba servers (in small offices) with OpenWRT (on ASUS Deluxe), I thought it would be economically viable to use some sort of a compressed filesystem on an external USB stick.

Since there is none "native" compressed filesystem for Linux (besides jffs2 for flash/mtd), I thought I would try with some of the FUSE "compressed" filesystems.

There are three FUSE "compressed" filesystem, I can't compile any of them for OpenWRT.

The compilation breaks for all of them with 'error: parse error before "fuse_fill_dir_t"' (see below - failed compilation of CompFUSEd from http://parallel.vub.ac.be/~johan/compFUSEd/ ).

Has anyone any experience with FUSE on OpenWRT, an perhaps can point what is wrong?

# make
/home/data/wrt54/svn/white/openwrt/staging_dir_mipsel/mipsel-linux-uclibc/bin/gcc -o cf_main cf_main.c cf_file.o cf_map.o cf_config.o cf_compression.o cf_log.o -g  -Wall -g -D_FILE_OFFSET_BITS=64 -lfuse -lz -llzo -lbz2
cf_main.c:119: error: parse error before "fuse_fill_dir_t"
cf_main.c: In function `cf_readdir':
cf_main.c:122: error: `fi' undeclared (first use in this function)
cf_main.c:122: error: (Each undeclared identifier is reported only once
cf_main.c:122: error: for each function it appears in.)
(...)

mangoo wrote:

Has anyone any experience with FUSE on OpenWRT, an perhaps can point what is wrong?

I have compiled and used owfs with success. (which use fuse)
Look at the compilation flags etc. that I have used for owfs. It might also help if you install my fuse-package 2.4.1 which should work very good.

I think you have some problem with compFUSEd required fuse-version.

You find my packages and sources at:
http://home.mag.cx/openwrt/packages/
http://home.mag.cx/openwrt/source/

/Christian

It appeared that compFUSEd needs fuse 2.4.1, and the one shipped with whiterussian is 2.2.1.

After compiling newer fuse I was able to get this to work.

The discussion might have continued from here.