Explorar o código

[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>
David Teigland %!s(int64=19) %!d(string=hai) anos
pai
achega
d2f222e631
Modificáronse 1 ficheiros con 7 adicións e 7 borrados
  1. 7 7
      fs/gfs2/locking/dlm/mount.c

+ 7 - 7
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: