diff options
author | Steve French <smfrench@austin.rr.com> | 2005-04-29 01:41:10 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-29 01:41:10 -0400 |
commit | 57337e42f1393941d59d5154eed27a63988ff2be (patch) | |
tree | 52a66ef24ea412473702a63f261e1520cf8e1885 /fs/cifs/connect.c | |
parent | 11aa0149d0e49ee1791735ec4ae3079b27b9a68e (diff) |
[PATCH] cifs: handle termination of cifs oplockd kernel thread
Signed-off-by: Steve French (sfrench@us.ibm.com)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index e3b177a90b37..437be1efe99e 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -384,7 +384,7 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) | |||
384 | if(server->tcpStatus == CifsExiting) { | 384 | if(server->tcpStatus == CifsExiting) { |
385 | break; | 385 | break; |
386 | } else if (server->tcpStatus == CifsNeedReconnect) { | 386 | } else if (server->tcpStatus == CifsNeedReconnect) { |
387 | cFYI(1,("Reconnecting after server stopped responding")); | 387 | cFYI(1,("Reconnect after server stopped responding")); |
388 | cifs_reconnect(server); | 388 | cifs_reconnect(server); |
389 | cFYI(1,("call to reconnect done")); | 389 | cFYI(1,("call to reconnect done")); |
390 | csocket = server->ssocket; | 390 | csocket = server->ssocket; |
@@ -396,7 +396,7 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) | |||
396 | continue; | 396 | continue; |
397 | } else if (length <= 0) { | 397 | } else if (length <= 0) { |
398 | if(server->tcpStatus == CifsNew) { | 398 | if(server->tcpStatus == CifsNew) { |
399 | cFYI(1,("tcp session abended prematurely (after SMBnegprot)")); | 399 | cFYI(1,("tcp session abend after SMBnegprot")); |
400 | /* some servers kill the TCP session rather than | 400 | /* some servers kill the TCP session rather than |
401 | returning an SMB negprot error, in which | 401 | returning an SMB negprot error, in which |
402 | case reconnecting here is not going to help, | 402 | case reconnecting here is not going to help, |
@@ -407,14 +407,15 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) | |||
407 | cFYI(1,("cifsd thread killed")); | 407 | cFYI(1,("cifsd thread killed")); |
408 | break; | 408 | break; |
409 | } | 409 | } |
410 | cFYI(1,("Reconnecting after unexpected peek error %d",length)); | 410 | cFYI(1,("Reconnect after unexpected peek error %d", |
411 | length)); | ||
411 | cifs_reconnect(server); | 412 | cifs_reconnect(server); |
412 | csocket = server->ssocket; | 413 | csocket = server->ssocket; |
413 | wake_up(&server->response_q); | 414 | wake_up(&server->response_q); |
414 | continue; | 415 | continue; |
415 | } else if (length < 4) { | 416 | } else if (length < 4) { |
416 | cFYI(1, | 417 | cFYI(1, |
417 | ("Frame less than four bytes received %d bytes long.", | 418 | ("Frame under four bytes received (%d bytes long)", |
418 | length)); | 419 | length)); |
419 | cifs_reconnect(server); | 420 | cifs_reconnect(server); |
420 | csocket = server->ssocket; | 421 | csocket = server->ssocket; |
@@ -593,7 +594,7 @@ multi_t2_fnd: | |||
593 | smallbuf = NULL; | 594 | smallbuf = NULL; |
594 | } | 595 | } |
595 | wake_up_process(task_to_wake); | 596 | wake_up_process(task_to_wake); |
596 | } else if ((is_valid_oplock_break(smb_buffer) == FALSE) | 597 | } else if ((is_valid_oplock_break(smb_buffer) == FALSE) |
597 | && (isMultiRsp == FALSE)) { | 598 | && (isMultiRsp == FALSE)) { |
598 | cERROR(1, ("No task to wake, unknown frame rcvd!")); | 599 | cERROR(1, ("No task to wake, unknown frame rcvd!")); |
599 | cifs_dump_mem("Received Data is: ",temp,sizeof(struct smb_hdr)); | 600 | cifs_dump_mem("Received Data is: ",temp,sizeof(struct smb_hdr)); |