lib/mount_bsd.c: prettify option specifications
authorCsaba Henk <csaba.henk@creo.hu>
Sun, 3 Feb 2008 22:29:09 +0000 (22:29 +0000)
committerCsaba Henk <csaba.henk@creo.hu>
Sun, 3 Feb 2008 22:29:09 +0000 (22:29 +0000)
ChangeLog
lib/mount_bsd.c

index d8135003d4f80c939dd8d0a8a00edbbffb265c4e..09f3a5de832dbee1435d724d66437c9f08e34252 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,8 +6,9 @@
          (in FreeBSD a mount failure is not critical per se, as the daemon
          still could be mounted externally, but waiting for such an event
          is more confusing than fruitful)
-       - ditch the kvm(8) stuff and fix unmounting in a simple and sensible
-         way
+       - ditch the kvm(8) stuff and simply use forced unmount which just
+         won't block
+       - prettify option specifications
 
 2008-01-07  Csaba Henk <csaba.henk@creo.hu>
 
index c186ffcee4134120ff4eb7e639539f7fb890b0ab..1de9cfa8a54e9c7e7da7585fee293c94f9723dbd 100644 (file)
@@ -42,84 +42,59 @@ struct mount_opts {
        char *kernel_opts;
 };
 
+#define FUSE_DUAL_OPT_KEY(templ, key)                          \
+       FUSE_OPT_KEY(templ, key), FUSE_OPT_KEY("no" templ, key)
+
 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 },
-       FUSE_OPT_KEY("allow_root",          KEY_ALLOW_ROOT),
-       FUSE_OPT_KEY("-r",                  KEY_RO),
-       FUSE_OPT_KEY("-h",                  KEY_HELP),
-       FUSE_OPT_KEY("--help",              KEY_HELP),
-       FUSE_OPT_KEY("-V",                  KEY_VERSION),
-       FUSE_OPT_KEY("--version",           KEY_VERSION),
+       FUSE_OPT_KEY("allow_root",              KEY_ALLOW_ROOT),
+       FUSE_OPT_KEY("-r",                      KEY_RO),
+       FUSE_OPT_KEY("-h",                      KEY_HELP),
+       FUSE_OPT_KEY("--help",                  KEY_HELP),
+       FUSE_OPT_KEY("-V",                      KEY_VERSION),
+       FUSE_OPT_KEY("--version",               KEY_VERSION),
        /* standard FreeBSD mount options */
-       FUSE_OPT_KEY("dev",                 KEY_KERN),
-       FUSE_OPT_KEY("async",               KEY_KERN),
-       FUSE_OPT_KEY("atime",               KEY_KERN),
-       FUSE_OPT_KEY("dev",                 KEY_KERN),
-       FUSE_OPT_KEY("exec",                KEY_KERN),
-       FUSE_OPT_KEY("suid",                KEY_KERN),
-       FUSE_OPT_KEY("symfollow",           KEY_KERN),
-       FUSE_OPT_KEY("rdonly",              KEY_KERN),
-       FUSE_OPT_KEY("sync",                KEY_KERN),
-       FUSE_OPT_KEY("union",               KEY_KERN),
-       FUSE_OPT_KEY("userquota",           KEY_KERN),
-       FUSE_OPT_KEY("groupquota",          KEY_KERN),
-       FUSE_OPT_KEY("clusterr",            KEY_KERN),
-       FUSE_OPT_KEY("clusterw",            KEY_KERN),
-       FUSE_OPT_KEY("suiddir",             KEY_KERN),
-       FUSE_OPT_KEY("snapshot",            KEY_KERN),
-       FUSE_OPT_KEY("multilabel",          KEY_KERN),
-       FUSE_OPT_KEY("acls",                KEY_KERN),
-       FUSE_OPT_KEY("force",               KEY_KERN),
-       FUSE_OPT_KEY("update",              KEY_KERN),
-       FUSE_OPT_KEY("ro",                  KEY_KERN),
-       FUSE_OPT_KEY("rw",                  KEY_KERN),
-       FUSE_OPT_KEY("auto",                KEY_KERN),
+       FUSE_DUAL_OPT_KEY("dev",                KEY_KERN),
+       FUSE_DUAL_OPT_KEY("async",              KEY_KERN),
+       FUSE_DUAL_OPT_KEY("atime",              KEY_KERN),
+       FUSE_DUAL_OPT_KEY("dev",                KEY_KERN),
+       FUSE_DUAL_OPT_KEY("exec",               KEY_KERN),
+       FUSE_DUAL_OPT_KEY("suid",               KEY_KERN),
+       FUSE_DUAL_OPT_KEY("symfollow",          KEY_KERN),
+       FUSE_DUAL_OPT_KEY("rdonly",             KEY_KERN),
+       FUSE_DUAL_OPT_KEY("sync",               KEY_KERN),
+       FUSE_DUAL_OPT_KEY("union",              KEY_KERN),
+       FUSE_DUAL_OPT_KEY("userquota",          KEY_KERN),
+       FUSE_DUAL_OPT_KEY("groupquota",         KEY_KERN),
+       FUSE_DUAL_OPT_KEY("clusterr",           KEY_KERN),
+       FUSE_DUAL_OPT_KEY("clusterw",           KEY_KERN),
+       FUSE_DUAL_OPT_KEY("suiddir",            KEY_KERN),
+       FUSE_DUAL_OPT_KEY("snapshot",           KEY_KERN),
+       FUSE_DUAL_OPT_KEY("multilabel",         KEY_KERN),
+       FUSE_DUAL_OPT_KEY("acls",               KEY_KERN),
+       FUSE_DUAL_OPT_KEY("force",              KEY_KERN),
+       FUSE_DUAL_OPT_KEY("update",             KEY_KERN),
+       FUSE_DUAL_OPT_KEY("ro",                 KEY_KERN),
+       FUSE_DUAL_OPT_KEY("rw",                 KEY_KERN),
+       FUSE_DUAL_OPT_KEY("auto",               KEY_KERN),
        /* options supported under both Linux and FBSD */
-       FUSE_OPT_KEY("allow_other",         KEY_KERN),
-       FUSE_OPT_KEY("default_permissions", KEY_KERN),
-       FUSE_OPT_KEY("subtype=",            KEY_KERN),
+       FUSE_DUAL_OPT_KEY("allow_other",        KEY_KERN),
+       FUSE_DUAL_OPT_KEY("default_permissions",KEY_KERN),
+       FUSE_OPT_KEY("max_read=",               KEY_KERN),
+       FUSE_OPT_KEY("subtype=",                KEY_KERN),
        /* FBSD FUSE specific mount options */
-       FUSE_OPT_KEY("private",             KEY_KERN),
-       FUSE_OPT_KEY("neglect_shares",      KEY_KERN),
-       FUSE_OPT_KEY("push_symlinks_in",    KEY_KERN),
+       FUSE_DUAL_OPT_KEY("private",            KEY_KERN),
+       FUSE_DUAL_OPT_KEY("neglect_shares",     KEY_KERN),
+       FUSE_DUAL_OPT_KEY("push_symlinks_in",   KEY_KERN),
        /* stock FBSD mountopt parsing routine lets anything be negated... */
-       FUSE_OPT_KEY("nodev",               KEY_KERN),
-       FUSE_OPT_KEY("noasync",             KEY_KERN),
-       FUSE_OPT_KEY("noatime",             KEY_KERN),
-       FUSE_OPT_KEY("nodev",               KEY_KERN),
-       FUSE_OPT_KEY("noexec",              KEY_KERN),
-       FUSE_OPT_KEY("nosuid",              KEY_KERN),
-       FUSE_OPT_KEY("nosymfollow",         KEY_KERN),
-       FUSE_OPT_KEY("nordonly",            KEY_KERN),
-       FUSE_OPT_KEY("nosync",              KEY_KERN),
-       FUSE_OPT_KEY("nounion",             KEY_KERN),
-       FUSE_OPT_KEY("nouserquota",         KEY_KERN),
-       FUSE_OPT_KEY("nogroupquota",        KEY_KERN),
-       FUSE_OPT_KEY("noclusterr",          KEY_KERN),
-       FUSE_OPT_KEY("noclusterw",          KEY_KERN),
-       FUSE_OPT_KEY("nosuiddir",           KEY_KERN),
-       FUSE_OPT_KEY("nosnapshot",          KEY_KERN),
-       FUSE_OPT_KEY("nomultilabel",        KEY_KERN),
-       FUSE_OPT_KEY("noacls",              KEY_KERN),
-       FUSE_OPT_KEY("noforce",             KEY_KERN),
-       FUSE_OPT_KEY("noupdate",            KEY_KERN),
-       FUSE_OPT_KEY("noro",                KEY_KERN),
-       FUSE_OPT_KEY("norw",                KEY_KERN),
-       FUSE_OPT_KEY("noauto",              KEY_KERN),
-       FUSE_OPT_KEY("noallow_other",       KEY_KERN),
-       FUSE_OPT_KEY("nodefault_permissions", KEY_KERN),
-       FUSE_OPT_KEY("noprivate",           KEY_KERN),
-       FUSE_OPT_KEY("noneglect_shares",    KEY_KERN),
-       FUSE_OPT_KEY("nopush_symlinks_in",  KEY_KERN),
        /*
         * Linux specific mount options, but let just the mount util
         * handle them
         */
-       FUSE_OPT_KEY("fsname=",             KEY_KERN),
-       FUSE_OPT_KEY("nonempty",            KEY_KERN),
-       FUSE_OPT_KEY("large_read",          KEY_KERN),
-       FUSE_OPT_KEY("max_read=",           KEY_KERN),
+       FUSE_OPT_KEY("fsname=",                 KEY_KERN),
+       FUSE_OPT_KEY("nonempty",                KEY_KERN),
+       FUSE_OPT_KEY("large_read",              KEY_KERN),
        FUSE_OPT_END
 };