diff options
author | Suresh Jayaraman <sjayaraman@suse.de> | 2010-07-05 18:12:15 +0530 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2010-08-02 12:40:34 +0000 |
commit | 488f1d2d6cc9d665c9f09e4b54f77052732e3058 (patch) | |
tree | 2e240da84cdb009b89508e0fa748bebe71e35766 /fs/cifs/connect.c | |
parent | f579cf3cfd1e19ae5aab6929679d0c04bf1a6284 (diff) | |
download | op-kernel-dev-488f1d2d6cc9d665c9f09e4b54f77052732e3058.zip op-kernel-dev-488f1d2d6cc9d665c9f09e4b54f77052732e3058.tar.gz |
cifs: define server-level cache index objects and register them
Define server-level cache index objects (as managed by TCP_ServerInfo structs)
and register then with FS-Cache. Each server object is created in the CIFS
top-level index object and is itself an index into which superblock-level
objects are inserted.
The server objects are now keyed by {IPaddress,family,port} tuple.
Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 2208f06..90354e3 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -48,6 +48,7 @@ #include "nterr.h" #include "rfc1002pdu.h" #include "cn_cifs.h" +#include "fscache.h" #define CIFS_PORT 445 #define RFC1001_PORT 139 @@ -1460,6 +1461,8 @@ cifs_put_tcp_session(struct TCP_Server_Info *server) server->tcpStatus = CifsExiting; spin_unlock(&GlobalMid_Lock); + cifs_fscache_release_client_cookie(server); + task = xchg(&server->tsk, NULL); if (task) force_sig(SIGKILL, task); @@ -1577,6 +1580,8 @@ cifs_get_tcp_session(struct smb_vol *volume_info) list_add(&tcp_ses->tcp_ses_list, &cifs_tcp_ses_list); write_unlock(&cifs_tcp_ses_lock); + cifs_fscache_get_client_cookie(tcp_ses); + return tcp_ses; out_err: |