diff options
| author | Sunil Mushran <sunil.mushran@oracle.com> | 2009-06-11 14:02:03 -0400 |
|---|---|---|
| committer | Joel Becker <joel.becker@oracle.com> | 2009-06-15 17:50:14 -0400 |
| commit | 9af0b38ff3f4f79c62dd909405b113bf7c1a23aa (patch) | |
| tree | 9e0071a36969f435d784483f9902e498725dd875 | |
| parent | 6b791bcc8b2ae21daf95d18cff2f1eca7a64c9a5 (diff) | |
ocfs2/net: Use wait_event() in o2net_send_message_vec()
Replace wait_event_interruptible() with wait_event() in o2net_send_message_vec().
This is because this function is called by the dlm that expects signals to be
blocked.
Fixes oss bugzilla#1126
http://oss.oracle.com/bugzilla/show_bug.cgi?id=1126
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
| -rw-r--r-- | fs/ocfs2/cluster/tcp.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/ocfs2/cluster/tcp.c b/fs/ocfs2/cluster/tcp.c index 9fbe849f6344..334f231a422c 100644 --- a/fs/ocfs2/cluster/tcp.c +++ b/fs/ocfs2/cluster/tcp.c | |||
| @@ -974,7 +974,7 @@ static int o2net_tx_can_proceed(struct o2net_node *nn, | |||
| 974 | int o2net_send_message_vec(u32 msg_type, u32 key, struct kvec *caller_vec, | 974 | int o2net_send_message_vec(u32 msg_type, u32 key, struct kvec *caller_vec, |
| 975 | size_t caller_veclen, u8 target_node, int *status) | 975 | size_t caller_veclen, u8 target_node, int *status) |
| 976 | { | 976 | { |
| 977 | int ret, error = 0; | 977 | int ret; |
| 978 | struct o2net_msg *msg = NULL; | 978 | struct o2net_msg *msg = NULL; |
| 979 | size_t veclen, caller_bytes = 0; | 979 | size_t veclen, caller_bytes = 0; |
| 980 | struct kvec *vec = NULL; | 980 | struct kvec *vec = NULL; |
| @@ -1015,10 +1015,7 @@ int o2net_send_message_vec(u32 msg_type, u32 key, struct kvec *caller_vec, | |||
| 1015 | 1015 | ||
| 1016 | o2net_set_nst_sock_time(&nst); | 1016 | o2net_set_nst_sock_time(&nst); |
| 1017 | 1017 | ||
| 1018 | ret = wait_event_interruptible(nn->nn_sc_wq, | 1018 | wait_event(nn->nn_sc_wq, o2net_tx_can_proceed(nn, &sc, &ret)); |
| 1019 | o2net_tx_can_proceed(nn, &sc, &error)); | ||
| 1020 | if (!ret && error) | ||
| 1021 | ret = error; | ||
| 1022 | if (ret) | 1019 | if (ret) |
| 1023 | goto out; | 1020 | goto out; |
| 1024 | 1021 | ||
