aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/super.h
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-10-27 11:50:50 -0700
committerSage Weil <sage@newdream.net>2009-10-27 11:57:03 -0700
commit6b8051855d983db8480ff1ea1b02ef2b49203c22 (patch)
treeafb72be534ddd4c474a2ec9b7cf2ea5ab86799bc /fs/ceph/super.h
parentceph: fix, clean up string mount arg parsing (diff)
downloadlinux-dev-6b8051855d983db8480ff1ea1b02ef2b49203c22.tar.xz
linux-dev-6b8051855d983db8480ff1ea1b02ef2b49203c22.zip
ceph: allocate and parse mount args before client instance
This simplifies much of the error handling during mount. It also means that we have the mount args before client creation, and we can initialize based on those options. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/super.h')
-rw-r--r--fs/ceph/super.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index 3af42d9097ec..a3d4943581d0 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -42,13 +42,15 @@
#define CEPH_OPT_DEFAULT (CEPH_OPT_RBYTES)
#define ceph_set_opt(client, opt) \
- (client)->mount_args.flags |= CEPH_OPT_##opt;
+ (client)->mount_args->flags |= CEPH_OPT_##opt;
#define ceph_test_opt(client, opt) \
- (!!((client)->mount_args.flags & CEPH_OPT_##opt))
+ (!!((client)->mount_args->flags & CEPH_OPT_##opt))
struct ceph_mount_args {
int sb_flags;
+ int num_mon;
+ struct ceph_entity_addr *mon_addr;
int flags;
int mount_timeout;
int caps_wanted_delay_min, caps_wanted_delay_max;
@@ -115,7 +117,7 @@ struct ceph_client {
struct dentry *debugfs_dir, *debugfs_dentry_lru, *debugfs_caps;
struct mutex mount_mutex; /* serialize mount attempts */
- struct ceph_mount_args mount_args;
+ struct ceph_mount_args *mount_args;
struct ceph_fsid fsid;
struct super_block *sb;