diff options
author | David Teigland <teigland@redhat.com> | 2006-05-19 08:24:02 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-05-19 08:24:02 -0400 |
commit | d2f222e6310b073ae3d91b8d3d676621fae1314e (patch) | |
tree | a6745532b08c8594eff8931fd6943aa8a2439fb4 /fs/gfs2/locking/dlm | |
parent | 320dd101e2d595a03439adb92b319f3af53dd1d0 (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/dlm')
-rw-r--r-- | fs/gfs2/locking/dlm/mount.c | 14 |
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: |