summaryrefslogtreecommitdiffstats
path: root/fs/cifs/connect.c
diff options
context:
space:
mode:
authorSuresh Jayaraman2010-07-05 14:42:27 +0200
committerSteve French2010-08-02 14:40:36 +0200
commitd03382ce9a89dbe27cba25130f0b90c0d631d5c5 (patch)
treef2561981a606a788259ad10f0ec57f9486f85da4 /fs/cifs/connect.c
parentcifs: remove unused cifsUidInfo struct (diff)
downloadkernel-qcow2-linux-d03382ce9a89dbe27cba25130f0b90c0d631d5c5.tar.gz
kernel-qcow2-linux-d03382ce9a89dbe27cba25130f0b90c0d631d5c5.tar.xz
kernel-qcow2-linux-d03382ce9a89dbe27cba25130f0b90c0d631d5c5.zip
cifs: define superblock-level cache index objects and register them
Define superblock-level cache index objects (managed by cifsTconInfo structs). Each superblock object is created in a server-level index object and in itself an index into which inode-level objects are inserted. The superblock object is keyed by sharename. The UniqueId/IndexNumber is used to validate that the exported share is the same since we accessed it last time. 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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index b2063ce113ec..6e1fe3a7f27d 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -1837,6 +1837,7 @@ cifs_put_tcon(struct cifsTconInfo *tcon)
_FreeXid(xid);
tconInfoFree(tcon);
+ cifs_fscache_release_super_cookie(tcon);
cifs_put_smb_ses(ses);
}
@@ -1906,6 +1907,8 @@ cifs_get_tcon(struct cifsSesInfo *ses, struct smb_vol *volume_info)
list_add(&tcon->tcon_list, &ses->tcon_list);
write_unlock(&cifs_tcp_ses_lock);
+ cifs_fscache_get_super_cookie(tcon);
+
return tcon;
out_fail: