CTCaer-TWRP/fuse
Dees_Troy e34c133ec6 Add write buffer for tar writes
update fuse to 2.9.2

catch return from unlink so that we don't print error messages when things work
Change-Id: I1115039a0fa5d9d73f78ef1abd79755d7ffd9d96
2013-02-07 08:21:17 -05:00
..
include Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
Android.mk Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
buffer.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
cuse_lowlevel.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_i.h Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_kern_chan.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_loop_mt.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_loop.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_lowlevel.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_misc.h Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_mt.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_opt.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_session.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fuse_signals.c Add libtar to TWRP instead of using busybox tar 2013-01-09 09:09:08 -05:00
fuse.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
fusexmp.c Add libtar to TWRP instead of using busybox tar 2013-01-09 09:09:08 -05:00
helper.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
mount_bsd.c Add libtar to TWRP instead of using busybox tar 2013-01-09 09:09:08 -05:00
mount_util.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
mount_util.h Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
mount.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00
README Add libtar to TWRP instead of using busybox tar 2013-01-09 09:09:08 -05:00
ulockmgr.c Add write buffer for tar writes 2013-02-07 08:21:17 -05:00

Libfuse for Android

FUSE[1] is a framework to develop userspace file systems for linux. Since Android is based on linux, it won't be too difficult to port libfuse to Android.

The main problem of building and running libfuse on Android is that the bionic c library lacks support for pthread_cancel(), which is necessary for libfuse multi-thread code. This stackoverflow entry[2] has suggested a solution, which uses SIGUSR1 as an alternative. It seems to work.

Libfuse can be build with Android NDK[3]. If success, you will get libfuse.a and an example program fusexmp. To run the example, the android kernel should be built with FUSE kernel support.

References:
[1]. http://fuse.sourceforge.net
[2]. http://stackoverflow.com/questions/4610086/pthread-cancel-alternatives-in-android-ndk
[3]. http://developer.android.com/sdk/ndk/index.html