aboutsummaryrefslogtreecommitdiff
path: root/lib/fuse.c
diff options
context:
space:
mode:
authorGravatar Nikolaus Rath <Nikolaus@rath.org>2016-10-18 21:02:32 -0700
committerGravatar Nikolaus Rath <Nikolaus@rath.org>2016-10-20 14:05:15 -0700
commit6c66dac9f229d0035f83ae63d9033e4f51d9c5c8 (patch)
tree381089385e33beb9dc6d3fadcd6fedf78a93f41a /lib/fuse.c
parentbc02a2cda954151aa8cb1f47e143fb8dd4b8737e (diff)
Pass struct fuse_config to high-level init() handler.
Diffstat (limited to 'lib/fuse.c')
-rw-r--r--lib/fuse.c34
1 files changed, 4 insertions, 30 deletions
diff --git a/lib/fuse.c b/lib/fuse.c
index 07e63d2..f469378 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -57,33 +57,6 @@
#define NODE_TABLE_MIN_SIZE 8192
-struct fuse_config {
- unsigned int uid;
- unsigned int gid;
- unsigned int umask;
- double entry_timeout;
- double negative_timeout;
- double attr_timeout;
- double ac_attr_timeout;
- int ac_attr_timeout_set;
- int remember;
- int nopath;
- int debug;
- int hard_remove;
- int use_ino;
- int readdir_ino;
- int set_mode;
- int set_uid;
- int set_gid;
- int direct_io;
- int kernel_cache;
- int auto_cache;
- int intr;
- int intr_signal;
- int show_help;
- char *modules;
-};
-
struct fuse_fs {
struct fuse_operations op;
struct fuse_module *m;
@@ -2478,7 +2451,8 @@ static void reply_entry(fuse_req_t req, const struct fuse_entry_param *e,
reply_err(req, err);
}
-void fuse_fs_init(struct fuse_fs *fs, struct fuse_conn_info *conn)
+void fuse_fs_init(struct fuse_fs *fs, struct fuse_conn_info *conn,
+ struct fuse_config *cfg)
{
fuse_get_context()->private_data = fs->user_data;
if (!fs->op.write_buf)
@@ -2488,7 +2462,7 @@ void fuse_fs_init(struct fuse_fs *fs, struct fuse_conn_info *conn)
if (!fs->op.flock)
conn->want &= ~FUSE_CAP_FLOCK_LOCKS;
if (fs->op.init)
- fs->user_data = fs->op.init(conn);
+ fs->user_data = fs->op.init(conn, cfg);
}
static void fuse_lib_init(void *data, struct fuse_conn_info *conn)
@@ -2497,7 +2471,7 @@ static void fuse_lib_init(void *data, struct fuse_conn_info *conn)
fuse_create_context(f);
conn->want |= FUSE_CAP_EXPORT_SUPPORT;
- fuse_fs_init(f->fs, conn);
+ fuse_fs_init(f->fs, conn, &f->conf);
}
void fuse_fs_destroy(struct fuse_fs *fs)