aboutsummaryrefslogtreecommitdiff
path: root/lib/mount_bsd.c
diff options
context:
space:
mode:
authorNikolaus Rath <Nikolaus@rath.org>2016-10-27 21:38:42 -0700
committerNikolaus Rath <Nikolaus@rath.org>2016-10-27 21:38:42 -0700
commite885e84f796da2433907e57358bc4916bca30a50 (patch)
tree278350db190c3f8f50933397d368cc9fbbbe74e9 /lib/mount_bsd.c
parent4fade0c616a9227e42043ac3332f0fc59a6df327 (diff)
downloadlibfuse-e885e84f796da2433907e57358bc4916bca30a50.tar.gz
Add max_read to fuse_conn_info
Eventually, this setting should be negotiated in the filesystem's init() handler (like e.g. max_write). However, this requires corresponding changes in the FUSE kernel module. In preparation for this (and to allow a transition period) we already allow (and require) filesystems to set the value in the init() handler in addition to the mount option. The end-goal is tracked in issue #91.
Diffstat (limited to 'lib/mount_bsd.c')
-rw-r--r--lib/mount_bsd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/mount_bsd.c b/lib/mount_bsd.c
index 9cf9dfa..8bff2cf 100644
--- a/lib/mount_bsd.c
+++ b/lib/mount_bsd.c
@@ -40,6 +40,7 @@ struct mount_opts {
int allow_other;
int allow_root;
char *kernel_opts;
+ unsigned max_read;
};
#define FUSE_DUAL_OPT_KEY(templ, key) \
@@ -48,6 +49,7 @@ struct mount_opts {
static const struct fuse_opt fuse_mount_opts[] = {
{ "allow_other", offsetof(struct mount_opts, allow_other), 1 },
{ "allow_root", offsetof(struct mount_opts, allow_root), 1 },
+ { "max_read=%u", offsetof(struct mount_opts, max_read), 1 },
FUSE_OPT_KEY("allow_root", KEY_ALLOW_ROOT),
FUSE_OPT_KEY("-r", KEY_RO),
/* standard FreeBSD mount options */
@@ -98,6 +100,11 @@ void fuse_mount_version(void)
system(FUSERMOUNT_PROG " --version");
}
+unsigned get_max_read(struct mount_opts *o)
+{
+ return o->max_read;
+}
+
static int fuse_mount_opt_proc(void *data, const char *arg, int key,
struct fuse_args *outargs)
{