From 18358261af5467182908400fa8dfc6bbc8aaea46 Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Fri, 30 May 2014 23:23:45 -0400 Subject: [PATCH] fsname set to list of src mounts. closes #9 --- src/option_parser.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/option_parser.cpp b/src/option_parser.cpp index 14fea606..cc91a207 100644 --- a/src/option_parser.cpp +++ b/src/option_parser.cpp @@ -124,6 +124,24 @@ option_processor(void *data, return rv; } +static +void +set_fsname(struct fuse_args &args, + const config::Config &config) +{ + if(config.srcmounts.size() > 0) + { + std::string fsname; + + fsname = "-ofsname="; + fsname += config.srcmounts[0]; + for(size_t i = 1; i < config.srcmounts.size(); i++) + fsname += ';' + config.srcmounts[i]; + + fuse_opt_insert_arg(&args,1,fsname.c_str()); + } +} + namespace mergerfs { namespace options @@ -132,10 +150,14 @@ namespace mergerfs parse(struct fuse_args &args, config::Config &config) { + fuse_opt_parse(&args, &config, NULL, ::option_processor); + + set_fsname(args,config); + config.updateReadStr(); } }