diff options
Diffstat (limited to 'net/ceph/ceph_common.c')
-rw-r--r-- | net/ceph/ceph_common.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/net/ceph/ceph_common.c b/net/ceph/ceph_common.c index 58fbfe134f93..5d5ab67f516d 100644 --- a/net/ceph/ceph_common.c +++ b/net/ceph/ceph_common.c | |||
@@ -184,14 +184,6 @@ void *ceph_kvmalloc(size_t size, gfp_t flags) | |||
184 | return __vmalloc(size, flags | __GFP_HIGHMEM, PAGE_KERNEL); | 184 | return __vmalloc(size, flags | __GFP_HIGHMEM, PAGE_KERNEL); |
185 | } | 185 | } |
186 | 186 | ||
187 | void ceph_kvfree(const void *ptr) | ||
188 | { | ||
189 | if (is_vmalloc_addr(ptr)) | ||
190 | vfree(ptr); | ||
191 | else | ||
192 | kfree(ptr); | ||
193 | } | ||
194 | |||
195 | 187 | ||
196 | static int parse_fsid(const char *str, struct ceph_fsid *fsid) | 188 | static int parse_fsid(const char *str, struct ceph_fsid *fsid) |
197 | { | 189 | { |
@@ -245,6 +237,8 @@ enum { | |||
245 | Opt_noshare, | 237 | Opt_noshare, |
246 | Opt_crc, | 238 | Opt_crc, |
247 | Opt_nocrc, | 239 | Opt_nocrc, |
240 | Opt_cephx_require_signatures, | ||
241 | Opt_nocephx_require_signatures, | ||
248 | }; | 242 | }; |
249 | 243 | ||
250 | static match_table_t opt_tokens = { | 244 | static match_table_t opt_tokens = { |
@@ -263,6 +257,8 @@ static match_table_t opt_tokens = { | |||
263 | {Opt_noshare, "noshare"}, | 257 | {Opt_noshare, "noshare"}, |
264 | {Opt_crc, "crc"}, | 258 | {Opt_crc, "crc"}, |
265 | {Opt_nocrc, "nocrc"}, | 259 | {Opt_nocrc, "nocrc"}, |
260 | {Opt_cephx_require_signatures, "cephx_require_signatures"}, | ||
261 | {Opt_nocephx_require_signatures, "nocephx_require_signatures"}, | ||
266 | {-1, NULL} | 262 | {-1, NULL} |
267 | }; | 263 | }; |
268 | 264 | ||
@@ -461,6 +457,12 @@ ceph_parse_options(char *options, const char *dev_name, | |||
461 | case Opt_nocrc: | 457 | case Opt_nocrc: |
462 | opt->flags |= CEPH_OPT_NOCRC; | 458 | opt->flags |= CEPH_OPT_NOCRC; |
463 | break; | 459 | break; |
460 | case Opt_cephx_require_signatures: | ||
461 | opt->flags &= ~CEPH_OPT_NOMSGAUTH; | ||
462 | break; | ||
463 | case Opt_nocephx_require_signatures: | ||
464 | opt->flags |= CEPH_OPT_NOMSGAUTH; | ||
465 | break; | ||
464 | 466 | ||
465 | default: | 467 | default: |
466 | BUG_ON(token); | 468 | BUG_ON(token); |
@@ -504,6 +506,9 @@ struct ceph_client *ceph_create_client(struct ceph_options *opt, void *private, | |||
504 | init_waitqueue_head(&client->auth_wq); | 506 | init_waitqueue_head(&client->auth_wq); |
505 | client->auth_err = 0; | 507 | client->auth_err = 0; |
506 | 508 | ||
509 | if (!ceph_test_opt(client, NOMSGAUTH)) | ||
510 | required_features |= CEPH_FEATURE_MSG_AUTH; | ||
511 | |||
507 | client->extra_mon_dispatch = NULL; | 512 | client->extra_mon_dispatch = NULL; |
508 | client->supported_features = CEPH_FEATURES_SUPPORTED_DEFAULT | | 513 | client->supported_features = CEPH_FEATURES_SUPPORTED_DEFAULT | |
509 | supported_features; | 514 | supported_features; |