diff options
author | Alex Elder <elder@dreamhost.com> | 2012-02-15 08:43:54 -0500 |
---|---|---|
committer | Alex Elder <elder@dreamhost.com> | 2012-03-22 11:47:51 -0400 |
commit | cffaba15cd95d4a16eb5a6aa5c22a79f67d555ab (patch) | |
tree | d752174022e8444c70afb27e798e032163f89ac9 /fs/ceph/super.c | |
parent | d3002b974cefbb7c1e325cc296966f768ff76b06 (diff) |
ceph: ensure Boolean options support both senses
Many ceph-related Boolean options offer the ability to both enable
and disable a feature. For all those that don't offer this, add
a new option so that they do.
Note that ceph_show_options()--which reports mount options currently
in effect--only reports the option if it is different from the
default value.
Signed-off-by: Alex Elder <elder@dreamhost.com>
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/super.c')
-rw-r--r-- | fs/ceph/super.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/ceph/super.c b/fs/ceph/super.c index 4fab1fdcfa6a..3663cf0cb073 100644 --- a/fs/ceph/super.c +++ b/fs/ceph/super.c | |||
@@ -130,10 +130,12 @@ enum { | |||
130 | Opt_nodirstat, | 130 | Opt_nodirstat, |
131 | Opt_rbytes, | 131 | Opt_rbytes, |
132 | Opt_norbytes, | 132 | Opt_norbytes, |
133 | Opt_asyncreaddir, | ||
133 | Opt_noasyncreaddir, | 134 | Opt_noasyncreaddir, |
134 | Opt_dcache, | 135 | Opt_dcache, |
135 | Opt_nodcache, | 136 | Opt_nodcache, |
136 | Opt_ino32, | 137 | Opt_ino32, |
138 | Opt_noino32, | ||
137 | }; | 139 | }; |
138 | 140 | ||
139 | static match_table_t fsopt_tokens = { | 141 | static match_table_t fsopt_tokens = { |
@@ -153,10 +155,12 @@ static match_table_t fsopt_tokens = { | |||
153 | {Opt_nodirstat, "nodirstat"}, | 155 | {Opt_nodirstat, "nodirstat"}, |
154 | {Opt_rbytes, "rbytes"}, | 156 | {Opt_rbytes, "rbytes"}, |
155 | {Opt_norbytes, "norbytes"}, | 157 | {Opt_norbytes, "norbytes"}, |
158 | {Opt_asyncreaddir, "asyncreaddir"}, | ||
156 | {Opt_noasyncreaddir, "noasyncreaddir"}, | 159 | {Opt_noasyncreaddir, "noasyncreaddir"}, |
157 | {Opt_dcache, "dcache"}, | 160 | {Opt_dcache, "dcache"}, |
158 | {Opt_nodcache, "nodcache"}, | 161 | {Opt_nodcache, "nodcache"}, |
159 | {Opt_ino32, "ino32"}, | 162 | {Opt_ino32, "ino32"}, |
163 | {Opt_noino32, "noino32"}, | ||
160 | {-1, NULL} | 164 | {-1, NULL} |
161 | }; | 165 | }; |
162 | 166 | ||
@@ -232,6 +236,9 @@ static int parse_fsopt_token(char *c, void *private) | |||
232 | case Opt_norbytes: | 236 | case Opt_norbytes: |
233 | fsopt->flags &= ~CEPH_MOUNT_OPT_RBYTES; | 237 | fsopt->flags &= ~CEPH_MOUNT_OPT_RBYTES; |
234 | break; | 238 | break; |
239 | case Opt_asyncreaddir: | ||
240 | fsopt->flags &= ~CEPH_MOUNT_OPT_NOASYNCREADDIR; | ||
241 | break; | ||
235 | case Opt_noasyncreaddir: | 242 | case Opt_noasyncreaddir: |
236 | fsopt->flags |= CEPH_MOUNT_OPT_NOASYNCREADDIR; | 243 | fsopt->flags |= CEPH_MOUNT_OPT_NOASYNCREADDIR; |
237 | break; | 244 | break; |
@@ -244,6 +251,9 @@ static int parse_fsopt_token(char *c, void *private) | |||
244 | case Opt_ino32: | 251 | case Opt_ino32: |
245 | fsopt->flags |= CEPH_MOUNT_OPT_INO32; | 252 | fsopt->flags |= CEPH_MOUNT_OPT_INO32; |
246 | break; | 253 | break; |
254 | case Opt_noino32: | ||
255 | fsopt->flags &= ~CEPH_MOUNT_OPT_INO32; | ||
256 | break; | ||
247 | default: | 257 | default: |
248 | BUG_ON(token); | 258 | BUG_ON(token); |
249 | } | 259 | } |