summaryrefslogtreecommitdiff
path: root/fs/ceph/super.h
diff options
context:
space:
mode:
authorVenky Shankar <vshankar@redhat.com>2021-07-14 13:05:52 +0300
committerIlya Dryomov <idryomov@gmail.com>2022-01-13 15:40:06 +0300
commit7b19b4db5add8d9f50e854907a82a10ba4d27c42 (patch)
tree03d39bb99bf9683badb143811d53c0c64e796d85 /fs/ceph/super.h
parent4153c7fc937a2afa077dbdb9fe3189b9981f423c (diff)
downloadlinux-7b19b4db5add8d9f50e854907a82a10ba4d27c42.tar.xz
ceph: new device mount syntax
Old mount device syntax (source) has the following problems: - mounts to the same cluster but with different fsnames and/or creds have identical device string which can confuse xfstests. - Userspace mount helper tool resolves monitor addresses and fill in mon addrs automatically, but that means the device shown in /proc/mounts is different than what was used for mounting. New device syntax is as follows: cephuser@fsid.mycephfs2=/path Note, there is no "monitor address" in the device string. That gets passed in as mount option. This keeps the device string same when monitor addresses change (on remounts). Also note that the userspace mount helper tool is backward compatible. I.e., the mount helper will fallback to using old syntax after trying to mount with the new syntax. [ idryomov: drop CEPH_MON_ADDR_MNTOPT_DELIM ] Signed-off-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph/super.h')
-rw-r--r--fs/ceph/super.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index ac331aa07cfa..ec6b221e5b62 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -89,6 +89,8 @@ struct ceph_mount_options {
unsigned int max_readdir; /* max readdir result (entries) */
unsigned int max_readdir_bytes; /* max readdir result (bytes) */
+ bool new_dev_syntax;
+
/*
* everything above this point can be memcmp'd; everything below
* is handled in compare_mount_options()
@@ -98,6 +100,7 @@ struct ceph_mount_options {
char *mds_namespace; /* default NULL */
char *server_path; /* default NULL (means "/") */
char *fscache_uniq; /* default NULL */
+ char *mon_addr;
};
struct ceph_fs_client {