struct server *serverp) {
afs_uint32 slot;
+ afs_hyper_t zero;
slot = avc->diskSlot;
osi_PrePopulateVCache(avc);
hzero(avc->mapDV);
avc->f.truncPos = AFS_NOTRUNC; /* don't truncate until we need to */
- hzero(avc->f.m.DataVersion); /* in case we copy it into flushDV */
+ hzero(zero);
+ afs_SetDataVersion(avc, &zero); /* in case we copy it into flushDV */
avc->Access = NULL;
avc->callback = serverp; /* to minimize chance that clear
* request is lost */
struct AFSFetchStatus *astat, struct vrequest *areq)
{
afs_size_t length;
+ afs_hyper_t newDV;
AFS_STATCNT(afs_ProcessFS);
#ifdef AFS_64BIT_CLIENT
avc->f.m.Length = length;
avc->f.m.Date = astat->ClientModTime;
}
- hset64(avc->f.m.DataVersion, astat->dataVersionHigh, astat->DataVersion);
+ hset64(newDV, astat->dataVersionHigh, astat->DataVersion);
+ afs_SetDataVersion(avc, &newDV);
avc->f.m.Owner = astat->Owner;
avc->f.m.Mode = astat->UnixModeBits;
avc->f.m.Group = astat->Group;
}
}
}
+
+void
+afs_SetDataVersion(struct vcache *avc, afs_hyper_t *avers)
+{
+ hset(avc->f.m.DataVersion, *avers);
+}