Commit af47c86f authored by Steve French's avatar Steve French

Fix freeing of captive thread at unmount time (which was causing

unmount warning).
parent 8a98ef65
Version 0.67
------------
Fix signal sending so that captive thread (cifsd) exits on umount
(which was causing the warning in kmem_cache_free of the request buffers
at rmmod time). This had broken as a sideeffect of the recent global
kernel change to daemonize
Version 0.66 Version 0.66
------------ ------------
Reconnect tids and fids after session reconnection (still do not Reconnect tids and fids after session reconnection (still do not
......
...@@ -76,7 +76,7 @@ cifs_reconnect(struct TCP_Server_Info *server) ...@@ -76,7 +76,7 @@ cifs_reconnect(struct TCP_Server_Info *server)
int rc = 0; int rc = 0;
struct list_head *tmp; struct list_head *tmp;
struct cifsSesInfo *ses; struct cifsSesInfo *ses;
struct cifsTconInfo *tcon; struct cifsTconInfo *tcon;
server->tcpStatus = CifsNeedReconnect; server->tcpStatus = CifsNeedReconnect;
server->maxBuf = 0; server->maxBuf = 0;
...@@ -889,7 +889,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, ...@@ -889,7 +889,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
if (pSesInfo->Suid) if (pSesInfo->Suid)
CIFSSMBLogoff(xid, pSesInfo); CIFSSMBLogoff(xid, pSesInfo);
if(pSesInfo->server->tsk) if(pSesInfo->server->tsk)
send_sig(SIGINT,pSesInfo->server->tsk,1); send_sig(SIGKILL,pSesInfo->server->tsk,1);
else else
cFYI(1,("Can not wake captive thread on cleanup of failed mount")); cFYI(1,("Can not wake captive thread on cleanup of failed mount"));
set_current_state(TASK_INTERRUPTIBLE); set_current_state(TASK_INTERRUPTIBLE);
...@@ -2278,7 +2278,7 @@ cifs_umount(struct super_block *sb, struct cifs_sb_info *cifs_sb) ...@@ -2278,7 +2278,7 @@ cifs_umount(struct super_block *sb, struct cifs_sb_info *cifs_sb)
schedule_timeout(HZ / 4); /* give captive thread time to exit */ schedule_timeout(HZ / 4); /* give captive thread time to exit */
if((ses->server) && (ses->server->ssocket)) { if((ses->server) && (ses->server->ssocket)) {
cFYI(1,("Waking up socket by sending it signal ")); cFYI(1,("Waking up socket by sending it signal "));
send_sig(SIGINT,ses->server->tsk,1); send_sig(SIGKILL,ses->server->tsk,1);
} }
} else } else
cFYI(1, ("No session or bad tcon")); cFYI(1, ("No session or bad tcon"));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment