diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2011-07-26 04:15:45 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2011-07-26 05:18:37 -0400 |
commit | 19237039919088781b4191a00bdc1284d8fea1dd (patch) | |
tree | 2d1fb1d68caa6eb642fa6b201163619bd616b559 /fs | |
parent | e08dc1325feaf49eec392ee52feb2974ec3f5155 (diff) |
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: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/gfs2/ops_fstype.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 516516e0c2a2..3bc073a4cf82 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c | |||
@@ -1018,13 +1018,13 @@ hostdata_error: | |||
1018 | fsname++; | 1018 | fsname++; |
1019 | if (lm->lm_mount == NULL) { | 1019 | if (lm->lm_mount == NULL) { |
1020 | fs_info(sdp, "Now mounting FS...\n"); | 1020 | fs_info(sdp, "Now mounting FS...\n"); |
1021 | complete(&sdp->sd_locking_init); | 1021 | complete_all(&sdp->sd_locking_init); |
1022 | return 0; | 1022 | return 0; |
1023 | } | 1023 | } |
1024 | ret = lm->lm_mount(sdp, fsname); | 1024 | ret = lm->lm_mount(sdp, fsname); |
1025 | if (ret == 0) | 1025 | if (ret == 0) |
1026 | fs_info(sdp, "Joined cluster. Now mounting FS...\n"); | 1026 | fs_info(sdp, "Joined cluster. Now mounting FS...\n"); |
1027 | complete(&sdp->sd_locking_init); | 1027 | complete_all(&sdp->sd_locking_init); |
1028 | return ret; | 1028 | return ret; |
1029 | } | 1029 | } |
1030 | 1030 | ||