[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(-)
This commit is contained in:
@@ -2,7 +2,8 @@ Version 1.36
|
|||||||
------------
|
------------
|
||||||
Add support for mounting to older pre-CIFS servers such as Windows9x and ME.
|
Add support for mounting to older pre-CIFS servers such as Windows9x and ME.
|
||||||
For these older servers, add option for passing netbios name of server in
|
For these older servers, add option for passing netbios name of server in
|
||||||
on mount (servernetbiosname).
|
on mount (servernetbiosname). Add suspend support for power management, to
|
||||||
|
avoid cifsd thread preventing software suspend from working.
|
||||||
Add mount option for disabling the default behavior of sending byte range lock
|
Add mount option for disabling the default behavior of sending byte range lock
|
||||||
requests to the server (necessary for certain applications which break with
|
requests to the server (necessary for certain applications which break with
|
||||||
mandatory lock behavior such as Evolution), and also mount option for
|
mandatory lock behavior such as Evolution), and also mount option for
|
||||||
|
@@ -784,6 +784,8 @@ static int cifs_oplock_thread(void * dummyarg)
|
|||||||
|
|
||||||
oplockThread = current;
|
oplockThread = current;
|
||||||
do {
|
do {
|
||||||
|
if(try_to_freeze())
|
||||||
|
continue;
|
||||||
set_current_state(TASK_INTERRUPTIBLE);
|
set_current_state(TASK_INTERRUPTIBLE);
|
||||||
|
|
||||||
schedule_timeout(1*HZ);
|
schedule_timeout(1*HZ);
|
||||||
@@ -848,6 +850,8 @@ static int cifs_dnotify_thread(void * dummyarg)
|
|||||||
|
|
||||||
dnotifyThread = current;
|
dnotifyThread = current;
|
||||||
do {
|
do {
|
||||||
|
if(try_to_freeze())
|
||||||
|
continue;
|
||||||
set_current_state(TASK_INTERRUPTIBLE);
|
set_current_state(TASK_INTERRUPTIBLE);
|
||||||
schedule_timeout(39*HZ);
|
schedule_timeout(39*HZ);
|
||||||
} while(!signal_pending(current));
|
} while(!signal_pending(current));
|
||||||
|
@@ -355,6 +355,8 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server)
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (server->tcpStatus != CifsExiting) {
|
while (server->tcpStatus != CifsExiting) {
|
||||||
|
if(try_to_freeze())
|
||||||
|
continue;
|
||||||
if (bigbuf == NULL) {
|
if (bigbuf == NULL) {
|
||||||
bigbuf = cifs_buf_get();
|
bigbuf = cifs_buf_get();
|
||||||
if(bigbuf == NULL) {
|
if(bigbuf == NULL) {
|
||||||
|
Reference in New Issue
Block a user