* and return cached attributes.
*/
if (!nfs_use_cache(nmp)) {
- timeo = nfs_attrcachetimeout(np);
microuptime(&nowup);
+ if (np->n_attrstamp > nowup.tv_sec) {
+ printf("NFS: Attribute time stamp is in the future by %ld seconds. Invalidating cache\n",
+ np->n_attrstamp - nowup.tv_sec);
+ NATTRINVALIDATE(np);
+ NACCESSINVALIDATE(np);
+ return (ENOENT);
+ }
+ timeo = nfs_attrcachetimeout(np);
if ((nowup.tv_sec - np->n_attrstamp) >= timeo) {
FSDBG(528, np, 0, 0xffffff02, ENOENT);
OSAddAtomic64(1, &nfsstats.attrcache_misses);