diff options
author | Suresh Jayaraman <sjayaraman@suse.de> | 2010-07-05 08:42:27 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2010-08-02 08:40:36 -0400 |
commit | d03382ce9a89dbe27cba25130f0b90c0d631d5c5 (patch) | |
tree | f2561981a606a788259ad10f0ec57f9486f85da4 /fs/cifs/connect.c | |
parent | 8913007e67106597fed4b9dd3787e8dca6915a83 (diff) |
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.c | 3 |
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) | |||
1837 | _FreeXid(xid); | 1837 | _FreeXid(xid); |
1838 | 1838 | ||
1839 | tconInfoFree(tcon); | 1839 | tconInfoFree(tcon); |
1840 | cifs_fscache_release_super_cookie(tcon); | ||
1840 | cifs_put_smb_ses(ses); | 1841 | cifs_put_smb_ses(ses); |
1841 | } | 1842 | } |
1842 | 1843 | ||
@@ -1906,6 +1907,8 @@ cifs_get_tcon(struct cifsSesInfo *ses, struct smb_vol *volume_info) | |||
1906 | list_add(&tcon->tcon_list, &ses->tcon_list); | 1907 | list_add(&tcon->tcon_list, &ses->tcon_list); |
1907 | write_unlock(&cifs_tcp_ses_lock); | 1908 | write_unlock(&cifs_tcp_ses_lock); |
1908 | 1909 | ||
1910 | cifs_fscache_get_super_cookie(tcon); | ||
1911 | |||
1909 | return tcon; | 1912 | return tcon; |
1910 | 1913 | ||
1911 | out_fail: | 1914 | out_fail: |