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

src/WINNT/afsd/cm_btree.c

index 5c9a373517f46f7d1d5a137ca3abe7e909af69b7..88bd06e81c8110ae13c941e6451dd5af328fa1b3 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;
     }