diff options
Diffstat (limited to 'lib/fuse.c')
-rw-r--r-- | lib/fuse.c | 21 |
1 files changed, 19 insertions, 2 deletions
@@ -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__) |