|
|
@@ -72,6 +72,7 @@ static struct gfs2_sbd *init_sbd(struct super_block *sb)
|
|
|
|
|
|
init_waitqueue_head(&sdp->sd_glock_wait);
|
|
|
atomic_set(&sdp->sd_glock_disposal, 0);
|
|
|
+ init_completion(&sdp->sd_locking_init);
|
|
|
spin_lock_init(&sdp->sd_statfs_spin);
|
|
|
|
|
|
spin_lock_init(&sdp->sd_rindex_spin);
|
|
|
@@ -1017,11 +1018,13 @@ static int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent)
|
|
|
fsname++;
|
|
|
if (lm->lm_mount == NULL) {
|
|
|
fs_info(sdp, "Now mounting FS...\n");
|
|
|
+ complete(&sdp->sd_locking_init);
|
|
|
return 0;
|
|
|
}
|
|
|
ret = lm->lm_mount(sdp, fsname);
|
|
|
if (ret == 0)
|
|
|
fs_info(sdp, "Joined cluster. Now mounting FS...\n");
|
|
|
+ complete(&sdp->sd_locking_init);
|
|
|
return ret;
|
|
|
}
|
|
|
|