diff options
author | Steve French <sfrench@us.ibm.com> | 2005-08-30 16:10:14 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-08-30 16:10:14 -0400 |
commit | 16abbecdad3367c76c12537450eba0d86943fe2c (patch) | |
tree | 4e15d2ce6e7ab84587e29c3cdbfed94d25ae5d9f | |
parent | 2016ef789a9ded2e169ad1c028ae3deb5302571f (diff) |
[CIFS] Add support for suspend
cifsd had been preventing software suspend from completing.
Signed-off-by: pavel@suse.de
Signed-off-by: Steve French <sfrench@us.ibm.com> lightly modified
---
fs/cifs/CHANGES | 3 ++-
fs/cifs/cifsfs.c | 4 ++++
fs/cifs/connect.c | 2 ++
3 files changed, 8 insertions(+), 1 deletions(-)
-rw-r--r-- | fs/cifs/CHANGES | 3 | ||||
-rw-r--r-- | fs/cifs/cifsfs.c | 4 | ||||
-rw-r--r-- | fs/cifs/connect.c | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index 340b4ffb3493..6c73f020ef40 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES | |||
@@ -2,7 +2,8 @@ Version 1.36 | |||
2 | ------------ | 2 | ------------ |
3 | Add support for mounting to older pre-CIFS servers such as Windows9x and ME. | 3 | Add support for mounting to older pre-CIFS servers such as Windows9x and ME. |
4 | For these older servers, add option for passing netbios name of server in | 4 | For these older servers, add option for passing netbios name of server in |
5 | on mount (servernetbiosname). | 5 | on mount (servernetbiosname). Add suspend support for power management, to |
6 | avoid cifsd thread preventing software suspend from working. | ||
6 | Add mount option for disabling the default behavior of sending byte range lock | 7 | Add mount option for disabling the default behavior of sending byte range lock |
7 | requests to the server (necessary for certain applications which break with | 8 | requests to the server (necessary for certain applications which break with |
8 | mandatory lock behavior such as Evolution), and also mount option for | 9 | mandatory lock behavior such as Evolution), and also mount option for |
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index d77abe236a67..43fb2aafa528 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -784,6 +784,8 @@ static int cifs_oplock_thread(void * dummyarg) | |||
784 | 784 | ||
785 | oplockThread = current; | 785 | oplockThread = current; |
786 | do { | 786 | do { |
787 | if(try_to_freeze()) | ||
788 | continue; | ||
787 | set_current_state(TASK_INTERRUPTIBLE); | 789 | set_current_state(TASK_INTERRUPTIBLE); |
788 | 790 | ||
789 | schedule_timeout(1*HZ); | 791 | schedule_timeout(1*HZ); |
@@ -848,6 +850,8 @@ static int cifs_dnotify_thread(void * dummyarg) | |||
848 | 850 | ||
849 | dnotifyThread = current; | 851 | dnotifyThread = current; |
850 | do { | 852 | do { |
853 | if(try_to_freeze()) | ||
854 | continue; | ||
851 | set_current_state(TASK_INTERRUPTIBLE); | 855 | set_current_state(TASK_INTERRUPTIBLE); |
852 | schedule_timeout(39*HZ); | 856 | schedule_timeout(39*HZ); |
853 | } while(!signal_pending(current)); | 857 | } while(!signal_pending(current)); |
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index c75bae1242dc..134195cc4073 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -355,6 +355,8 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) | |||
355 | } | 355 | } |
356 | 356 | ||
357 | while (server->tcpStatus != CifsExiting) { | 357 | while (server->tcpStatus != CifsExiting) { |
358 | if(try_to_freeze()) | ||
359 | continue; | ||
358 | if (bigbuf == NULL) { | 360 | if (bigbuf == NULL) { |
359 | bigbuf = cifs_buf_get(); | 361 | bigbuf = cifs_buf_get(); |
360 | if(bigbuf == NULL) { | 362 | if(bigbuf == NULL) { |