This patch converts cifs code to use msleep() and ssleep() instead of
schedule_timeout().

Signed-off-by: Pekka Enberg <[EMAIL PROTECTED]>
---

 cifsfs.c  |    9 ++++-----
 connect.c |   25 +++++++++----------------
 2 files changed, 13 insertions(+), 21 deletions(-)

Index: 2.6/fs/cifs/cifsfs.c
===================================================================
--- 2.6.orig/fs/cifs/cifsfs.c   2005-01-12 23:33:14.476445944 +0200
+++ 2.6/fs/cifs/cifsfs.c        2005-01-12 23:37:09.402731720 +0200
@@ -32,6 +32,7 @@
 #include <linux/seq_file.h>
 #include <linux/vfs.h>
 #include <linux/mempool.h>
+#include <linux/delay.h>
 #include "cifsfs.h"
 #include "cifspdu.h"
 #define DECLARE_GLOBALS_HERE
@@ -748,14 +749,12 @@
 
        oplockThread = current;
        do {
-               set_current_state(TASK_INTERRUPTIBLE);
-               
-               schedule_timeout(1*HZ);  
+               ssleep(1);
+
                spin_lock(&GlobalMid_Lock);
                if(list_empty(&GlobalOplock_Q)) {
                        spin_unlock(&GlobalMid_Lock);
-                       set_current_state(TASK_INTERRUPTIBLE);
-                       schedule_timeout(39*HZ);
+                       ssleep(39);
                } else {
                        oplock_item = list_entry(GlobalOplock_Q.next, 
                                struct oplock_q_entry, qhead);
Index: 2.6/fs/cifs/connect.c
===================================================================
--- 2.6.orig/fs/cifs/connect.c  2005-01-12 23:33:14.479445488 +0200
+++ 2.6/fs/cifs/connect.c       2005-01-12 23:37:47.396955720 +0200
@@ -29,6 +29,7 @@
 #include <linux/ctype.h>
 #include <linux/utsname.h>
 #include <linux/mempool.h>
+#include <linux/delay.h>
 #include <asm/uaccess.h>
 #include <asm/processor.h>
 #include "cifspdu.h"
@@ -174,8 +175,7 @@
                                        server->workstation_RFC1001_name);
                }
                if(rc) {
-                       set_current_state(TASK_INTERRUPTIBLE);
-                       schedule_timeout(3 * HZ);
+                       ssleep(3);
                } else {
                        atomic_inc(&tcpSesReconnectCount);
                        spin_lock(&GlobalMid_Lock);
@@ -226,8 +226,7 @@
 
                if (smb_buffer == NULL) {
                        cERROR(1,("Can not get memory for SMB response"));
-                       set_current_state(TASK_INTERRUPTIBLE);
-                       schedule_timeout(HZ * 3); /* give system time to free 
memory */
+                       ssleep(3);
                        continue;
                }
                iov.iov_base = smb_buffer;
@@ -308,8 +307,7 @@
                                } else {
                                        /* give server a second to
                                        clean up before reconnect attempt */
-                                       set_current_state(TASK_INTERRUPTIBLE);
-                                       schedule_timeout(HZ);
+                                       ssleep(1);
                                        /* always try 445 first on reconnect
                                        since we get NACK on some if we ever
                                        connected to port 139 (the NACK is 
@@ -433,8 +431,7 @@
        and get out of SendReceive.  */
        wake_up_all(&server->request_q);
        /* give those requests time to exit */
-       set_current_state(TASK_INTERRUPTIBLE);
-       schedule_timeout(HZ/8);
+       msleep(125);
 
        if(server->ssocket) {
                sock_release(csocket);
@@ -471,17 +468,15 @@
                }
                spin_unlock(&GlobalMid_Lock);
                read_unlock(&GlobalSMBSeslock);
-               set_current_state(TASK_INTERRUPTIBLE);
                /* 1/8th of sec is more than enough time for them to exit */
-               schedule_timeout(HZ/8); 
+               msleep(125);
        }
 
        if (list_empty(&server->pending_mid_q)) {
                /* mpx threads have not exited yet give them 
                at least the smb send timeout time for long ops */
                cFYI(1, ("Wait for exit from demultiplex thread"));
-               set_current_state(TASK_INTERRUPTIBLE);
-               schedule_timeout(46 * HZ);      
+               ssleep(46);
                /* if threads still have not exited they are probably never
                coming home not much else we can do but free the memory */
        }
@@ -497,8 +492,7 @@
                        GFP_KERNEL);
        }
 
-       set_current_state(TASK_INTERRUPTIBLE);
-       schedule_timeout(HZ/4);
+       msleep(250);
        return 0;
 }
 
@@ -2924,8 +2918,7 @@
        
        cifs_sb->tcon = NULL;
        if (ses) {
-               set_current_state(TASK_INTERRUPTIBLE);
-               schedule_timeout(HZ / 2);
+               msleep(500);
        }
        if (ses)
                sesInfoFree(ses);


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to