Lines Matching refs:fsopt
251 static int namespace_equals(struct ceph_mount_options *fsopt,
254 return !(fsopt->mds_namespace &&
255 (strlen(fsopt->mds_namespace) != len ||
256 strncmp(fsopt->mds_namespace, namespace, len)));
264 struct ceph_mount_options *fsopt = pctx->opts;
274 fsopt->new_dev_syntax = false;
284 struct ceph_mount_options *fsopt = pctx->opts;
307 if (!namespace_equals(fsopt, fs_name_start, len))
309 kfree(fsopt->mds_namespace);
310 fsopt->mds_namespace = kstrndup(fs_name_start, len, GFP_KERNEL);
311 if (!fsopt->mds_namespace)
313 dout("file system (mds namespace) '%s'\n", fsopt->mds_namespace);
315 fsopt->new_dev_syntax = true;
340 struct ceph_mount_options *fsopt = pctx->opts;
354 kfree(fsopt->server_path);
355 fsopt->server_path = kstrdup(dev_name_end, GFP_KERNEL);
356 if (!fsopt->server_path)
359 canonicalize_path(fsopt->server_path);
369 if (fsopt->server_path)
370 dout("server path '%s'\n", fsopt->server_path);
392 struct ceph_mount_options *fsopt = pctx->opts;
394 kfree(fsopt->mon_addr);
395 fsopt->mon_addr = param->string;
398 return ceph_parse_mon_ips(fsopt->mon_addr, strlen(fsopt->mon_addr),
406 struct ceph_mount_options *fsopt = pctx->opts;
422 kfree(fsopt->snapdir_name);
423 fsopt->snapdir_name = param->string;
427 if (!namespace_equals(fsopt, param->string, strlen(param->string)))
429 kfree(fsopt->mds_namespace);
430 fsopt->mds_namespace = param->string;
436 fsopt->flags &= ~CEPH_MOUNT_OPT_CLEANRECOVER;
438 fsopt->flags |= CEPH_MOUNT_OPT_CLEANRECOVER;
452 fsopt->wsize = ALIGN(result.uint_32, PAGE_SIZE);
458 fsopt->rsize = ALIGN(result.uint_32, PAGE_SIZE);
461 fsopt->rasize = ALIGN(result.uint_32, PAGE_SIZE);
466 fsopt->caps_wanted_delay_min = result.uint_32;
471 fsopt->caps_wanted_delay_max = result.uint_32;
476 fsopt->caps_max = result.int_32;
481 fsopt->max_readdir = result.uint_32;
486 fsopt->max_readdir_bytes = result.uint_32;
491 fsopt->congestion_kb = result.uint_32;
495 fsopt->flags |= CEPH_MOUNT_OPT_DIRSTAT;
497 fsopt->flags &= ~CEPH_MOUNT_OPT_DIRSTAT;
501 fsopt->flags |= CEPH_MOUNT_OPT_RBYTES;
503 fsopt->flags &= ~CEPH_MOUNT_OPT_RBYTES;
507 fsopt->flags &= ~CEPH_MOUNT_OPT_NOASYNCREADDIR;
509 fsopt->flags |= CEPH_MOUNT_OPT_NOASYNCREADDIR;
513 fsopt->flags |= CEPH_MOUNT_OPT_DCACHE;
515 fsopt->flags &= ~CEPH_MOUNT_OPT_DCACHE;
519 fsopt->flags |= CEPH_MOUNT_OPT_INO32;
521 fsopt->flags &= ~CEPH_MOUNT_OPT_INO32;
526 kfree(fsopt->fscache_uniq);
527 fsopt->fscache_uniq = NULL;
529 fsopt->flags &= ~CEPH_MOUNT_OPT_FSCACHE;
531 fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE;
532 fsopt->fscache_uniq = param->string;
541 fsopt->flags &= ~CEPH_MOUNT_OPT_NOPOOLPERM;
543 fsopt->flags |= CEPH_MOUNT_OPT_NOPOOLPERM;
547 fsopt->flags &= ~CEPH_MOUNT_OPT_MOUNTWAIT;
549 fsopt->flags |= CEPH_MOUNT_OPT_MOUNTWAIT;
553 fsopt->flags &= ~CEPH_MOUNT_OPT_NOQUOTADF;
555 fsopt->flags |= CEPH_MOUNT_OPT_NOQUOTADF;
559 fsopt->flags &= ~CEPH_MOUNT_OPT_NOCOPYFROM;
561 fsopt->flags |= CEPH_MOUNT_OPT_NOCOPYFROM;
576 fsopt->flags &= ~CEPH_MOUNT_OPT_ASYNC_DIROPS;
578 fsopt->flags |= CEPH_MOUNT_OPT_ASYNC_DIROPS;
582 fsopt->flags |= CEPH_MOUNT_OPT_NOPAGECACHE;
584 fsopt->flags &= ~CEPH_MOUNT_OPT_NOPAGECACHE;
588 fsopt->flags &= ~CEPH_MOUNT_OPT_SPARSEREAD;
590 fsopt->flags |= CEPH_MOUNT_OPT_SPARSEREAD;
594 fscrypt_free_dummy_policy(&fsopt->dummy_enc_policy);
596 &fsopt->dummy_enc_policy);
688 struct ceph_mount_options *fsopt = fsc->mount_options;
704 if (fsopt->flags & CEPH_MOUNT_OPT_DIRSTAT)
706 if ((fsopt->flags & CEPH_MOUNT_OPT_RBYTES))
708 if (fsopt->flags & CEPH_MOUNT_OPT_NOASYNCREADDIR)
710 if ((fsopt->flags & CEPH_MOUNT_OPT_DCACHE) == 0)
712 if (fsopt->flags & CEPH_MOUNT_OPT_INO32)
714 if (fsopt->flags & CEPH_MOUNT_OPT_FSCACHE) {
715 seq_show_option(m, "fsc", fsopt->fscache_uniq);
717 if (fsopt->flags & CEPH_MOUNT_OPT_NOPOOLPERM)
719 if (fsopt->flags & CEPH_MOUNT_OPT_NOQUOTADF)
729 if ((fsopt->flags & CEPH_MOUNT_OPT_NOCOPYFROM) == 0)
733 if (fsopt->mds_namespace && !fsopt->new_dev_syntax)
734 seq_show_option(m, "mds_namespace", fsopt->mds_namespace);
736 if (fsopt->mon_addr)
737 seq_printf(m, ",mon_addr=%s", fsopt->mon_addr);
739 if (fsopt->flags & CEPH_MOUNT_OPT_CLEANRECOVER)
742 if (!(fsopt->flags & CEPH_MOUNT_OPT_ASYNC_DIROPS))
744 if (fsopt->flags & CEPH_MOUNT_OPT_NOPAGECACHE)
746 if (fsopt->flags & CEPH_MOUNT_OPT_SPARSEREAD)
751 if (fsopt->wsize != CEPH_MAX_WRITE_SIZE)
752 seq_printf(m, ",wsize=%u", fsopt->wsize);
753 if (fsopt->rsize != CEPH_MAX_READ_SIZE)
754 seq_printf(m, ",rsize=%u", fsopt->rsize);
755 if (fsopt->rasize != CEPH_RASIZE_DEFAULT)
756 seq_printf(m, ",rasize=%u", fsopt->rasize);
757 if (fsopt->congestion_kb != default_congestion_kb())
758 seq_printf(m, ",write_congestion_kb=%u", fsopt->congestion_kb);
759 if (fsopt->caps_max)
760 seq_printf(m, ",caps_max=%d", fsopt->caps_max);
761 if (fsopt->caps_wanted_delay_min != CEPH_CAPS_WANTED_DELAY_MIN_DEFAULT)
763 fsopt->caps_wanted_delay_min);
764 if (fsopt->caps_wanted_delay_max != CEPH_CAPS_WANTED_DELAY_MAX_DEFAULT)
766 fsopt->caps_wanted_delay_max);
767 if (fsopt->max_readdir != CEPH_MAX_READDIR_DEFAULT)
768 seq_printf(m, ",readdir_max_entries=%u", fsopt->max_readdir);
769 if (fsopt->max_readdir_bytes != CEPH_MAX_READDIR_BYTES_DEFAULT)
770 seq_printf(m, ",readdir_max_bytes=%u", fsopt->max_readdir_bytes);
771 if (strcmp(fsopt->snapdir_name, CEPH_SNAPDIRNAME_DEFAULT))
772 seq_show_option(m, "snapdirname", fsopt->snapdir_name);
801 * Success or not, this function consumes @fsopt and @opt.
803 static struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt,
825 if (!fsopt->mds_namespace) {
833 fsc->mount_options = fsopt;
872 destroy_mount_options(fsopt);
1092 struct ceph_mount_options *fsopt)
1096 if (!fscrypt_is_dummy_policy_set(&fsopt->dummy_enc_policy))
1102 if (fscrypt_dummy_policies_equal(&fsopt->dummy_enc_policy,
1109 /* Also make sure fsopt doesn't contain a conflicting value. */
1111 if (fscrypt_dummy_policies_equal(&fsopt->dummy_enc_policy,
1118 fsc->fsc_dummy_enc_policy = fsopt->dummy_enc_policy;
1119 memset(&fsopt->dummy_enc_policy, 0, sizeof(fsopt->dummy_enc_policy));
1127 struct ceph_mount_options *fsopt)
1227 struct ceph_mount_options *fsopt = new->mount_options;
1233 if (compare_mount_options(fsopt, opt, fsc)) {
1286 struct ceph_mount_options *fsopt = pctx->opts;
1298 if (fsopt->new_dev_syntax && !fsopt->mon_addr)
1378 struct ceph_mount_options *fsopt = pctx->opts;
1382 err = ceph_apply_test_dummy_encryption(sb, fc, fsopt);
1386 if (fsopt->flags & CEPH_MOUNT_OPT_ASYNC_DIROPS)
1391 if (fsopt->flags & CEPH_MOUNT_OPT_SPARSEREAD)
1396 if (strcmp_null(fsc->mount_options->mon_addr, fsopt->mon_addr)) {
1398 fsc->mount_options->mon_addr = fsopt->mon_addr;
1399 fsopt->mon_addr = NULL;
1420 struct ceph_mount_options *fsopt;
1434 fsopt = pctx->opts;
1435 fsopt->flags = CEPH_MOUNT_OPT_DEFAULT;
1437 fsopt->wsize = CEPH_MAX_WRITE_SIZE;
1438 fsopt->rsize = CEPH_MAX_READ_SIZE;
1439 fsopt->rasize = CEPH_RASIZE_DEFAULT;
1440 fsopt->snapdir_name = kstrdup(CEPH_SNAPDIRNAME_DEFAULT, GFP_KERNEL);
1441 if (!fsopt->snapdir_name)
1444 fsopt->caps_wanted_delay_min = CEPH_CAPS_WANTED_DELAY_MIN_DEFAULT;
1445 fsopt->caps_wanted_delay_max = CEPH_CAPS_WANTED_DELAY_MAX_DEFAULT;
1446 fsopt->max_readdir = CEPH_MAX_READDIR_DEFAULT;
1447 fsopt->max_readdir_bytes = CEPH_MAX_READDIR_BYTES_DEFAULT;
1448 fsopt->congestion_kb = default_congestion_kb();