]> git.baikalelectronics.ru Git - kernel.git/commit
cifs: allow for different handling of received response
authorJeff Layton <jlayton@redhat.com>
Tue, 11 Jan 2011 12:24:21 +0000 (07:24 -0500)
committerSteve French <sfrench@us.ibm.com>
Thu, 20 Jan 2011 17:43:59 +0000 (17:43 +0000)
commit125ae232fb0ca9e1ea32a30716b9c61fb00caa02
tree7977fad1c4a8ae8926184c00a3e7ccd30b398e5e
parent030f6ef13a112e6982715e5976c5241822af58f0
cifs: allow for different handling of received response

In order to incorporate async requests, we need to allow for a more
general way to do things on receive, rather than just waking up a
process.

Turn the task pointer in the mid_q_entry into a callback function and a
generic data pointer. When a response comes in, or the socket is
reconnected, cifsd can call the callback function in order to wake up
the process.

The default is to just wake up the current process which should mean no
change in behavior for existing code.

Also, clean up the locking in cifs_reconnect. There doesn't seem to be
any need to hold both the srv_mutex and GlobalMid_Lock when walking the
list of mids.

Reviewed-by: Suresh Jayaraman <sjayaraman@suse.de>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifs_debug.c
fs/cifs/cifsglob.h
fs/cifs/connect.c
fs/cifs/transport.c