summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/locking/dlm/mount.c
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/dlm/mount.c
parent320dd101e2d595a03439adb92b319f3af53dd1d0 (diff)
downloadlinux-d2f222e6310b073ae3d91b8d3d676621fae1314e.tar.gz
linux-d2f222e6310b073ae3d91b8d3d676621fae1314e.tar.bz2
linux-d2f222e6310b073ae3d91b8d3d676621fae1314e.zip
[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/mount.c')
-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,
if (error)
goto out_free;
+ error = gdlm_kobject_setup(ls, fskobj);
+ if (error)
+ goto out_thread;
+
error = dlm_new_lockspace(ls->fsname, strlen(ls->fsname),
&ls->dlm_lockspace,
nodir ? DLM_LSFL_NODIR : 0,
GDLM_LVB_SIZE);
if (error) {
log_error("dlm_new_lockspace error %d", error);
- goto out_thread;
+ goto out_kobj;
}
- error = gdlm_kobject_setup(ls, fskobj);
- if (error)
- goto out_dlm;
-
lockstruct->ls_jid = ls->jid;
lockstruct->ls_first = ls->first;
lockstruct->ls_lockspace = ls;
@@ -164,8 +164,8 @@ static int gdlm_mount(char *table_name, char *host_data,
lockstruct->ls_lvb_size = GDLM_LVB_SIZE;
return 0;
- out_dlm:
- dlm_release_lockspace(ls->dlm_lockspace, 2);
+ out_kobj:
+ gdlm_kobject_release(ls);
out_thread:
gdlm_release_threads(ls);
out_free: