diff options
author | Steve Kondik <shade@chemlab.org> | 2013-08-19 22:08:18 -0700 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2013-08-19 22:08:18 -0700 |
commit | bd2157b66496f90b7817fecc33539a3c442e49e9 (patch) | |
tree | 7d21b9f06a12f98e87bbbb996e67030c4c221fc6 | |
parent | cc7afb6acff7beb70b41a607960f5449e893a100 (diff) | |
download | android_external_fuse-bd2157b66496f90b7817fecc33539a3c442e49e9.tar.gz android_external_fuse-bd2157b66496f90b7817fecc33539a3c442e49e9.tar.bz2 android_external_fuse-bd2157b66496f90b7817fecc33539a3c442e49e9.zip |
fuse: Reduce code size and allow static compilationcm-11.0-XNPH44S-bacon-5fa8c79c0bcm-11.0-XNPH33R-bacon-3628510d76cm-11.0-XNPH30O-bacon-4f280f505acm-11.0-XNPH25R-bacon-d22b777afacm-11.0-XNPH22R-bacon-03d77315eacm-11.0-XNPH05Q-tomato-9828f8e9cccm-11.0-XNPH05Q-bacon-5229c4ef56cm-10.2.1cm-10.2.0cm-10.2-M1staging/cm-12.0-cafstable/cm-11.0-XNG3Cstable/cm-11.0-XNG2Sstable/cm-11.0-XNF9Xstable/cm-11.0-XNF8Ystable/cm-11.0stable/cm-10.2shipping/cm-11.0cm-11.0cm-10.2
Change-Id: Ibbd06ba24020bbad4959e298c5c1a595781c579c
-rwxr-xr-x | lib/Android.mk | 2 | ||||
-rw-r--r-- | lib/fuse.c | 21 |
2 files changed, 20 insertions, 3 deletions
diff --git a/lib/Android.mk b/lib/Android.mk index bf3712f..ba06023 100755 --- a/lib/Android.mk +++ b/lib/Android.mk @@ -38,7 +38,7 @@ LOCAL_C_INCLUDES := \ external/fuse/include LOCAL_SHARED_LIBRARIES := \ - libutils libdl + libutils LOCAL_CFLAGS := \ -D_FILE_OFFSET_BITS=64 \ @@ -30,7 +30,6 @@ #include <limits.h> #include <errno.h> #include <signal.h> -#include <dlfcn.h> #include <assert.h> #include <poll.h> #include <sys/param.h> @@ -38,6 +37,10 @@ #include <sys/time.h> #include <sys/mman.h> +#ifdef USE_MODULES +#include <dlfcn.h> +#endif + #define FUSE_NODE_SLAB 1 #ifndef MAP_ANONYMOUS @@ -221,6 +224,8 @@ struct fuse_context_i { static pthread_key_t fuse_context_key; static pthread_mutex_t fuse_context_lock = PTHREAD_MUTEX_INITIALIZER; static int fuse_context_ref; + +#ifdef USE_MODULES static struct fusemod_so *fuse_current_so; static struct fuse_module *fuse_modules; @@ -319,6 +324,7 @@ static void fuse_put_module(struct fuse_module *m) } pthread_mutex_unlock(&fuse_context_lock); } +#endif static void init_list_head(struct list_head *list) { @@ -2610,8 +2616,10 @@ void fuse_fs_destroy(struct fuse_fs *fs) fuse_get_context()->private_data = fs->user_data; if (fs->op.destroy) fs->op.destroy(fs->user_data); +#ifdef USE_MODULES if (fs->m) fuse_put_module(fs->m); +#endif free(fs); } @@ -4424,6 +4432,7 @@ static void fuse_lib_help(void) "\n", FUSE_DEFAULT_INTR_SIGNAL); } +#ifdef USE_MODULES static void fuse_lib_help_modules(void) { struct fuse_module *m; @@ -4443,6 +4452,7 @@ static void fuse_lib_help_modules(void) } pthread_mutex_unlock(&fuse_context_lock); } +#endif static int fuse_lib_opt_proc(void *data, const char *arg, int key, struct fuse_args *outargs) @@ -4498,7 +4508,7 @@ static void fuse_restore_intr_signal(int signum) sigaction(signum, &sa, NULL); } - +#ifdef USE_MODULES static int fuse_push_module(struct fuse *f, const char *module, struct fuse_args *args) { @@ -4521,6 +4531,7 @@ static int fuse_push_module(struct fuse *f, const char *module, f->utime_omit_ok = newfs->op.flag_utime_omit_ok && f->utime_omit_ok; return 0; } +#endif struct fuse_fs *fuse_fs_new(const struct fuse_operations *op, size_t op_size, void *user_data) @@ -4659,6 +4670,7 @@ struct fuse *fuse_new_common(struct fuse_chan *ch, struct fuse_args *args, fuse_lib_opt_proc) == -1) goto out_free_fs; +#ifdef USE_MODULES if (f->conf.modules) { char *module; char *next; @@ -4673,6 +4685,7 @@ struct fuse *fuse_new_common(struct fuse_chan *ch, struct fuse_args *args, goto out_free_fs; } } +#endif if (!f->conf.ac_attr_timeout_set) f->conf.ac_attr_timeout = f->conf.attr_timeout; @@ -4692,8 +4705,10 @@ struct fuse *fuse_new_common(struct fuse_chan *ch, struct fuse_args *args, f->se = fuse_lowlevel_new_common(args, &llop, sizeof(llop), f); if (f->se == NULL) { +#ifdef USE_MODULES if (f->conf.help) fuse_lib_help_modules(); +#endif goto out_free_fs; } @@ -4834,6 +4849,7 @@ static struct fuse *fuse_new_common_compat25(int fd, struct fuse_args *args, return f; } +#ifdef USE_MODULES /* called with fuse_context_lock held or during initialization (before main() has been called) */ void fuse_register_module(struct fuse_module *mod) @@ -4845,6 +4861,7 @@ void fuse_register_module(struct fuse_module *mod) mod->next = fuse_modules; fuse_modules = mod; } +#endif #if !defined(__FreeBSD__) && !defined(__NetBSD__) |