register struct afs_conn *tc;
struct VenusFid newFid;
register struct dcache *tdc;
-#ifdef AFS_DISCON_ENV
struct dcache *new_dc;
-#endif
afs_size_t offset, len;
register struct vcache *tvc;
struct AFSStoreStatus InStatus;
}
} else {
-#if defined(AFS_DISCON_ENV)
/* Disconnected. */
/* We have the dir entry now, we can use it while disconnected. */
/* Operations with the actual dir's cache entry are further
* down, where the dir entry gets created.
*/
-#endif
} /* if (!AFS_IS_DISCON_RW) */
/* otherwise, we should see if we can make the change to the dir locally */
newFid.Fid.Volume = adp->f.fid.Fid.Volume;
ReleaseWriteLock(&adp->lock);
if (AFS_IS_DISCON_RW) {
-#if defined(AFS_DISCON_ENV)
/* When disconnected, we have to create the full dir here. */
/* Generate a new vcache and fill it. */
afs_DisconAddDirty(tvc, VDisconCreate, 1);
ReleaseWriteLock(&tvc->lock);
-#endif /* #ifdef AFS_DISCON_ENV */
} else {
/* now we're done with parent dir, create the real dir's cache entry */
tvc = afs_GetVCache(&newFid, &treq, NULL, NULL);
adp->f.m.LinkCount = OutDirStatus.LinkCount;
} else {
-#if defined(AFS_DISCON_ENV)
/* Disconnected. */
if (!tdc) {
}
adp->f.m.LinkCount--;
-#endif /* #ifdef AFS_DISCON_ENV */
} /* if (!AFS_IS_DISCON_RW) */
if (tdc)
if (tvc) {
ObtainWriteLock(&tvc->lock, 155);
tvc->f.states &= ~CUnique; /* For the dfs xlator */
-#if defined(AFS_DISCON_ENV)
if (AFS_IS_DISCON_RW) {
if (tvc->f.ddirty_flags & VDisconCreate) {
/* If we we were created whilst disconnected, removal doesn't
afs_DisconAddDirty(tvc, VDisconRemove, 1);
}
}
-#endif
ReleaseWriteLock(&tvc->lock);
afs_PutVCache(tvc);
}