cifs: add lease tracking to the cached root fid
Use a read lease for the cached root fid so that we can detect when the content of the directory changes (via a break) at which time we close the handle. On next access to the root the handle will be reopened and cached again. Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:

committed by
Steve French

parent
2fbb56446f
commit
a93864d939
@@ -117,8 +117,9 @@ tconInfoAlloc(void)
|
||||
INIT_LIST_HEAD(&ret_buf->openFileList);
|
||||
INIT_LIST_HEAD(&ret_buf->tcon_list);
|
||||
spin_lock_init(&ret_buf->open_file_lock);
|
||||
mutex_init(&ret_buf->prfid_mutex);
|
||||
ret_buf->prfid = kzalloc(sizeof(struct cifs_fid), GFP_KERNEL);
|
||||
mutex_init(&ret_buf->crfid.fid_mutex);
|
||||
ret_buf->crfid.fid = kzalloc(sizeof(struct cifs_fid),
|
||||
GFP_KERNEL);
|
||||
#ifdef CONFIG_CIFS_STATS
|
||||
spin_lock_init(&ret_buf->stat_lock);
|
||||
#endif
|
||||
@@ -136,7 +137,7 @@ tconInfoFree(struct cifs_tcon *buf_to_free)
|
||||
atomic_dec(&tconInfoAllocCount);
|
||||
kfree(buf_to_free->nativeFileSystem);
|
||||
kzfree(buf_to_free->password);
|
||||
kfree(buf_to_free->prfid);
|
||||
kfree(buf_to_free->crfid.fid);
|
||||
kfree(buf_to_free);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user