]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
windows-freelance-20080301
authorJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 1 Mar 2008 17:43:16 +0000 (17:43 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Sat, 1 Mar 2008 17:43:16 +0000 (17:43 +0000)
LICENSE MIT

when support for multiple valid buffer data versions was added
forget to remove the force dv change from the freelance code.
this broken automatic additions of new mount points.

src/WINNT/afsd/afsd.h
src/WINNT/afsd/afsd_init.c
src/WINNT/afsd/cm_freelance.c
src/WINNT/afsd/cm_scache.c

index 2fdd140e2750d78d496177ce7bf280dff5c1a236..27d45edb075e34cee0d5a08e3cc5012dd5634e83 100644 (file)
@@ -99,12 +99,10 @@ extern cm_localMountPoint_t* cm_localMountPoints;   // array of fake mountpoints
 extern int cm_fakeDirSize;                             // size (in bytes) of fake root.afs directory
 
 extern int cm_fakeDirCallback;                         // state of the fake root.afs directory. indicates
-                                                                                                       // if it needs to be refreshed
+                                                        // if it needs to be refreshed
 
 extern int cm_fakeGettingCallback;                     // 1 if currently updating the fake root.afs directory,
-                                                                                                       // 0 otherwise
-
-extern int cm_fakeDirVersion;                          // the version number of the root.afs directory. used 
+                                                       // 0 otherwise
 #endif /* AFS_FREELANCE_CLIENT */
 
 extern int cm_dnsEnabled;
index a05cb9e2cbd68ec5ea7ac3007d1d5cc31bcc8258..76d4bda645a70e3e4dfea0a46755cbd48f770ac0 100644 (file)
@@ -62,9 +62,6 @@ char cm_mountRoot[1024];
 DWORD cm_mountRootLen;
 int cm_logChunkSize;
 int cm_chunkSize;
-#ifdef AFS_FREELANCE_CLIENT
-char *cm_FakeRootDir;
-#endif /* freelance */
 
 int smb_UseV3 = 1;
 
index e52ebd46646b1c22240cdbe47f379d8e7aef240c..486b6bce8c8798116d6afda116305fd023271ef7 100644 (file)
@@ -19,7 +19,8 @@
 extern void afsi_log(char *pattern, ...);
 
 int cm_noLocalMountPoints;
-int cm_fakeDirSize;
+char * cm_FakeRootDir = NULL;
+int cm_fakeDirSize = 0;
 int cm_fakeDirCallback=0;
 int cm_fakeGettingCallback=0;
 cm_localMountPoint_t* cm_localMountPoints;
@@ -217,8 +218,12 @@ void cm_InitFakeRootDir() {
     }
 
     dirSize = (curPage+1) *  CM_DIR_PAGESIZE;
-    cm_FakeRootDir = malloc(dirSize);
-    cm_fakeDirSize = dirSize;
+    if (cm_fakeDirSize != dirSize) {
+        if (cm_FakeRootDir)
+            free(cm_FakeRootDir);
+        cm_FakeRootDir = malloc(dirSize);
+        cm_fakeDirSize = dirSize;
+    }
 
     // yj: when we get here, we've figured out how much memory we need and 
     // allocated the appropriate space for it. we now prceed to fill
@@ -433,11 +438,6 @@ int cm_reInitLocalMountPoints() {
     cm_InitLocalMountPoints();
     osi_Log0(afsd_logp,"\tcreated new set of localmountpoints!");
 
-    // now we have to free the memory allocated in cm_initfakerootdir
-    osi_Log0(afsd_logp,"Removing old fakedir...  ");
-    free(cm_FakeRootDir);
-    osi_Log0(afsd_logp,"\t\told fakedir removed!");
-
     // then we re-create that dir
     osi_Log0(afsd_logp,"Creating new fakedir...  ");
     cm_InitFakeRootDir();
index 8f158cec5f87f97d5502a37788692d66c44d60a4..43a4401fbcfaa1d764f9ba569a997b062c9bcc3e 100644 (file)
@@ -1521,8 +1521,6 @@ void cm_MergeStatus(cm_scache_t *dscp,
         statusp->SyncCounter = 0;
         statusp->dataVersionHigh = (afs_uint32)(cm_data.fakeDirVersion >> 32);
         statusp->errorCode = 0;
-
-        buf_ForceDataVersion(scp, scp->dataVersion, cm_data.fakeDirVersion);
     }
 #endif /* AFS_FREELANCE_CLIENT */