浏览代码

[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 19 年之前
父节点
当前提交
d2f222e631
共有 1 个文件被更改,包括 7 次插入7 次删除
  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: