diff options
author | Sage Weil <sage@newdream.net> | 2009-10-27 11:50:50 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-10-27 11:57:03 -0700 |
commit | 6b8051855d983db8480ff1ea1b02ef2b49203c22 (patch) | |
tree | afb72be534ddd4c474a2ec9b7cf2ea5ab86799bc /fs/ceph/super.h | |
parent | e53c2fe075feda1fd4f009956ac026dc24c3a199 (diff) |
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.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/ceph/super.h b/fs/ceph/super.h index 3af42d9097e..a3d4943581d 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; |