code = 0;
goto done;
}
+
+ if (AFS_IS_DISCONNECTED && !AFS_IS_LOGGING) {
+ code = ENETDOWN;
+ goto done;
+ }
+
ObtainWriteLock(&andp->lock, 147);
tdc1 = afs_GetDCache(aodp, (afs_size_t) 0, areq, &offset, &len, 0);
if (!tdc1) {
goto done;
}
- /* locks are now set, proceed to do the real work */
do {
tc = afs_Conn(&aodp->fid, areq, SHARED_LOCK);
if (tc) {
return code;
afs_InitFakeStat(&ofakestate);
afs_InitFakeStat(&nfakestate);
+
+ AFS_DISCON_LOCK();
+
code = afs_EvalFakeStat(&aodp, &ofakestate, &treq);
if (code)
goto done;
done:
afs_PutFakeStat(&ofakestate);
afs_PutFakeStat(&nfakestate);
+
+ AFS_DISCON_UNLOCK();
+
code = afs_CheckCode(code, &treq, 25);
return code;
}