[GFS2] setup lock_dlm kobject earlier
authorDavid Teigland <teigland@redhat.com>
Fri, 19 May 2006 12:24:02 +0000 (08:24 -0400)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 19 May 2006 12:24:02 +0000 (08:24 -0400)
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>
fs/gfs2/locking/dlm/mount.c

index aa79fbe..3caeafc 100644 (file)
@@ -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: