LICENSE IPL10
in order that nautilus' .directory checks can work without stat()ing every damn
thing, do what we do for the mac, basically.
if ((code = afs_InitReq(&treq, acred)))
return code;
- code = afs_EvalFakeStat(&avc, &fakestate, &treq);
+ if (afs_fakestat_enable && avc->mvstat == 1) {
+ code = afs_TryEvalFakeStat(&avc, &fakestate, &treq);
+ if (code == 0 && avc->mvstat == 1) {
+ afs_PutFakeStat(&fakestate);
+ return 0;
+ }
+ } else {
+ code = afs_EvalFakeStat(&avc, &fakestate, &treq);
+ }
+
if (code) {
afs_PutFakeStat(&fakestate);
return code;
ndp->ni_dvp = AFSTOV(adp);
#endif /* AFS_OSF_ENV */
+ if (afs_fakestat_enable && adp->mvstat == 1) {
+ if (strcmp(aname, ".directory") == 0)
+ tryEvalOnly = 1;
+ }
+
#if defined(AFS_DARWIN_ENV)
/* Workaround for MacOSX Finder, which tries to look for
* .DS_Store and Contents under every directory.