OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-1328-g51fa590
Gerrit Code Review
gerrit@openafs.org
Mon, 27 Jun 2011 08:19:29 -0700 (PDT)
The following commit has been merged in the master branch:
commit 51fa590e704c77c0e9ba873ecb854448885030a5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date: Mon Jun 27 09:31:54 2011 -0400
Windows: MergeStatus before SyncOpDone
cm_SyncOp/cm_SyncOpDone is used to synchronize the RPC processing
to ensure that calls which are in conflict cannot occur at the
same time but also to ensure that the ordering of operations
is consistent. cm_MergeStatus() was in many cases executed after
cm_SyncOpDone() removed the synchronization barrier which in turn
permitted status information to be applied out of order. Side
effects could have included data loss due to client side file
truncation. More commonly two StoreData RPCs would have their
status information applied out of order forcing the cache manager
to invalidate all of the cached data for the file.
Change-Id: I8073da701cf11cd0df2b901e81180de7c193ae23
Reviewed-on: http://gerrit.openafs.org/4891
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
src/WINNT/afsd/cm_dcache.c | 6 +++---
src/WINNT/afsd/cm_vnodeops.c | 27 ++++++++++++---------------
2 files changed, 15 insertions(+), 18 deletions(-)
--
OpenAFS Master Repository