aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2005-08-30 16:10:14 -0400
committerSteve French <sfrench@us.ibm.com>2005-08-30 16:10:14 -0400
commit16abbecdad3367c76c12537450eba0d86943fe2c (patch)
tree4e15d2ce6e7ab84587e29c3cdbfed94d25ae5d9f
parent2016ef789a9ded2e169ad1c028ae3deb5302571f (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/CHANGES3
-rw-r--r--fs/cifs/cifsfs.c4
-rw-r--r--fs/cifs/connect.c2
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------------
3Add support for mounting to older pre-CIFS servers such as Windows9x and ME. 3Add support for mounting to older pre-CIFS servers such as Windows9x and ME.
4For these older servers, add option for passing netbios name of server in 4For these older servers, add option for passing netbios name of server in
5on mount (servernetbiosname). 5on mount (servernetbiosname). Add suspend support for power management, to
6avoid cifsd thread preventing software suspend from working.
6Add mount option for disabling the default behavior of sending byte range lock 7Add mount option for disabling the default behavior of sending byte range lock
7requests to the server (necessary for certain applications which break with 8requests to the server (necessary for certain applications which break with
8mandatory lock behavior such as Evolution), and also mount option for 9mandatory 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) {