aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/locking
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2006-05-19 08:24:02 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-05-19 08:24:02 -0400
commitd2f222e6310b073ae3d91b8d3d676621fae1314e (patch)
treea6745532b08c8594eff8931fd6943aa8a2439fb4 /fs/gfs2/locking
parent320dd101e2d595a03439adb92b319f3af53dd1d0 (diff)
[GFS2] setup lock_dlm kobject earlier
Setup the lock_dlm kobject before setting up the dlm lockspace instead of after. We want to use the sysfs files to detect the mount without having to wait for the dlm setup which can take a while. Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/locking')
-rw-r--r--fs/gfs2/locking/dlm/mount.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/gfs2/locking/dlm/mount.c b/fs/gfs2/locking/dlm/mount.c
index aa79fbecaf6a..3caeafc02a1b 100644
--- a/fs/gfs2/locking/dlm/mount.c
+++ b/fs/gfs2/locking/dlm/mount.c
@@ -143,19 +143,19 @@ static int gdlm_mount(char *table_name, char *host_data,
143 if (error) 143 if (error)
144 goto out_free; 144 goto out_free;
145 145
146 error = gdlm_kobject_setup(ls, fskobj);
147 if (error)
148 goto out_thread;
149
146 error = dlm_new_lockspace(ls->fsname, strlen(ls->fsname), 150 error = dlm_new_lockspace(ls->fsname, strlen(ls->fsname),
147 &ls->dlm_lockspace, 151 &ls->dlm_lockspace,
148 nodir ? DLM_LSFL_NODIR : 0, 152 nodir ? DLM_LSFL_NODIR : 0,
149 GDLM_LVB_SIZE); 153 GDLM_LVB_SIZE);
150 if (error) { 154 if (error) {
151 log_error("dlm_new_lockspace error %d", error); 155 log_error("dlm_new_lockspace error %d", error);
152 goto out_thread; 156 goto out_kobj;
153 } 157 }
154 158
155 error = gdlm_kobject_setup(ls, fskobj);
156 if (error)
157 goto out_dlm;
158
159 lockstruct->ls_jid = ls->jid; 159 lockstruct->ls_jid = ls->jid;
160 lockstruct->ls_first = ls->first; 160 lockstruct->ls_first = ls->first;
161 lockstruct->ls_lockspace = ls; 161 lockstruct->ls_lockspace = ls;
@@ -164,8 +164,8 @@ static int gdlm_mount(char *table_name, char *host_data,
164 lockstruct->ls_lvb_size = GDLM_LVB_SIZE; 164 lockstruct->ls_lvb_size = GDLM_LVB_SIZE;
165 return 0; 165 return 0;
166 166
167 out_dlm: 167 out_kobj:
168 dlm_release_lockspace(ls->dlm_lockspace, 2); 168 gdlm_kobject_release(ls);
169 out_thread: 169 out_thread:
170 gdlm_release_threads(ls); 170 gdlm_release_threads(ls);
171 out_free: 171 out_free: