]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-windows-afsd-btree-lookups-20081226
authorJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 26 Dec 2008 23:40:23 +0000 (23:40 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 26 Dec 2008 23:40:23 +0000 (23:40 +0000)
LICENSE MIT

when performing a lookup operation it is acceptable for the data version
of the btree to be greater than the data version of the cm_dirOp_t
under which the operation is being performed.  No change to the btree
can take place and the result of the lookup will maintain consistency
without requiring an additional restart of the directory operation.

(cherry picked from commit 61aa1b199c28abc763456b35a644047cb9bafc18)

src/WINNT/afsd/cm_btree.c

index 64286d4caa899ca624c0e6cb4ef8918142c9e1a3..138a4eaba836ccf858d813829ede4b24cf9625bb 100644 (file)
@@ -1582,7 +1582,7 @@ cm_BPlusDirLookupOriginalName(cm_dirOp_t * op, clientchar_t *centry,
     normchar_t * entry = NULL;
 
     if (op->scp->dirBplus == NULL || 
-        op->dataVersion != op->scp->dirDataVersion) {
+        op->dataVersion > op->scp->dirDataVersion) {
         rc = EINVAL;
         goto done;
     }
@@ -1678,7 +1678,7 @@ cm_BPlusDirLookup(cm_dirOp_t * op, clientchar_t * centry, cm_fid_t * cfid)
     LARGE_INTEGER start, end;
 
     if (op->scp->dirBplus == NULL || 
-        op->dataVersion != op->scp->dirDataVersion) {
+        op->dataVersion > op->scp->dirDataVersion) {
         rc = EINVAL;
         goto done;
     }