projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cifs: define server-level cache index objects and register them
[firefly-linux-kernel-4.4.55.git]
/
fs
/
cifs
/
connect.c
diff --git
a/fs/cifs/connect.c
b/fs/cifs/connect.c
index 2208f06e4c45ec17d1908b5435ee556be54d6dbe..90354e39e56514663afa6de0909a48012c219d35 100644
(file)
--- 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 "nterr.h"
#include "rfc1002pdu.h"
#include "cn_cifs.h"
+#include "fscache.h"
#define CIFS_PORT 445
#define RFC1001_PORT 139
#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);
server->tcpStatus = CifsExiting;
spin_unlock(&GlobalMid_Lock);
+ cifs_fscache_release_client_cookie(server);
+
task = xchg(&server->tsk, NULL);
if (task)
force_sig(SIGKILL, task);
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);
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:
return tcp_ses;
out_err: