|
@@ -140,6 +140,13 @@ nfs_opendir(struct inode *inode, struct file *filp)
|
|
|
|
|
|
/* Call generic open code in order to cache credentials */
|
|
/* Call generic open code in order to cache credentials */
|
|
res = nfs_open(inode, filp);
|
|
res = nfs_open(inode, filp);
|
|
|
|
+ if (filp->f_path.dentry == filp->f_path.mnt->mnt_root) {
|
|
|
|
+ /* This is a mountpoint, so d_revalidate will never
|
|
|
|
+ * have been called, so we need to refresh the
|
|
|
|
+ * inode (for close-open consistency) ourselves.
|
|
|
|
+ */
|
|
|
|
+ __nfs_revalidate_inode(NFS_SERVER(inode), inode);
|
|
|
|
+ }
|
|
return res;
|
|
return res;
|
|
}
|
|
}
|
|
|
|
|