[linux-cifs-client] signals sent to cifsd threads

Nick Millington Nick.Millington at sonos.com
Sat Jun 19 02:49:14 GMT 2004


After running "CIFSSMBLogoff", there is code that sends a SIGKILL to the
cifsd thread associated with a particular SMB session.
 
I am seeing a problem where CIFS FS goes berserk in the following
situation:
 
1)       mount a share like //server/share with username=foo
2)       mount a share like //server/share2 with username=bar
3)       unmount the first share
4)       attempt to use the second share
 
As part of the unmount, SIGKILL is sent to the cifsd thread associated
with the TCP connection to "server".  There appear to be several
problems here:
 
1)       After receiving the SIGKILL, sock_recvmsg returns -EINTR which
is not one of the possible handled signals.
2)       The signal remains pending for the cifsd thread forever, so it
goes into an infinite loop of attempting to reconnect to the file
server.
 
Should -EINTR be handled in the check for the result of sock_recvmsg?
Should the SIGKILL be sent to server->tsk at all if
server->socketUseCount has not reached 0?
 
thanks,
Nick
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the linux-cifs-client mailing list