patch-2.1.66 linux/fs/smbfs/cache.c

Next file: linux/fs/smbfs/dir.c
Previous file: linux/fs/nfsd/nfsfh.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.65/linux/fs/smbfs/cache.c linux/fs/smbfs/cache.c
@@ -265,7 +265,7 @@
 	 * Fill the cache, starting at position 2.
 	 */
 retry:
-	inode->u.smbfs_i.cache_valid = 1;
+	inode->u.smbfs_i.cache_valid |= SMB_F_CACHEVALID;
 	result = smb_proc_readdir(dentry, 2, cachep);
 	if (result < 0)
 	{
@@ -279,7 +279,7 @@
 	 * Check whether the cache was invalidated while
 	 * we were doing the scan ...
 	 */
-	if (!inode->u.smbfs_i.cache_valid)
+	if (!(inode->u.smbfs_i.cache_valid & SMB_F_CACHEVALID))
 	{
 #ifdef SMBFS_PARANOIA
 printk("smb_refill_dircache: cache invalidated, retrying\n");
@@ -310,6 +310,7 @@
 	 * 'valid' flag in case a scan is in progress.
 	 */
 	invalidate_inode_pages(dir);
-	dir->u.smbfs_i.cache_valid = 0;
+	dir->u.smbfs_i.cache_valid &= ~SMB_F_CACHEVALID;
+	dir->u.smbfs_i.oldmtime = 0;
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov