提交 19237039 编写于 作者: S Steven Whitehouse

GFS2: Fix mount hang caused by certain access pattern to sysfs files

Depending upon the order of userspace/kernel during the
mount process, this can result in a hang without the
_all version of the completion.
Signed-off-by: NSteven Whitehouse <swhiteho@redhat.com>
上级 e08dc132
...@@ -1018,13 +1018,13 @@ static int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent) ...@@ -1018,13 +1018,13 @@ static int gfs2_lm_mount(struct gfs2_sbd *sdp, int silent)
fsname++; fsname++;
if (lm->lm_mount == NULL) { if (lm->lm_mount == NULL) {
fs_info(sdp, "Now mounting FS...\n"); fs_info(sdp, "Now mounting FS...\n");
complete(&sdp->sd_locking_init); complete_all(&sdp->sd_locking_init);
return 0; return 0;
} }
ret = lm->lm_mount(sdp, fsname); ret = lm->lm_mount(sdp, fsname);
if (ret == 0) if (ret == 0)
fs_info(sdp, "Joined cluster. Now mounting FS...\n"); fs_info(sdp, "Joined cluster. Now mounting FS...\n");
complete(&sdp->sd_locking_init); complete_all(&sdp->sd_locking_init);
return ret; return ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册