windows-freelance-default-cell-20090609
authorJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 9 Jun 2009 21:11:04 +0000 (21:11 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 9 Jun 2009 21:11:04 +0000 (21:11 +0000)
LICENSE MIT

If a freelance mount point does not specify a cell name, default to
the workstation cell.

src/WINNT/afsd/cm_vnodeops.c

index 480396b..fe15adb 100644 (file)
@@ -936,7 +936,21 @@ long cm_FollowMountPoint(cm_scache_t *scp, cm_scache_t *dscp, cm_user_t *userp,
         /* normal mt pt */
         volNamep = cm_FsStrDup(mpNamep + 1);
 
-        cellp = cm_FindCellByID(scp->fid.cell, 0);
+#ifdef AFS_FREELANCE_CLIENT
+        /* 
+         * Mount points in the Freelance cell should default
+         * to the workstation cell.
+         */
+        if (cm_freelanceEnabled &&
+             scp->fid.cell==AFS_FAKE_ROOT_CELL_ID &&
+             scp->fid.volume==AFS_FAKE_ROOT_VOL_ID )
+        {       
+            fschar_t rootCellName[256]="";
+            cm_GetRootCellName(rootCellName);
+            cellp = cm_GetCell(rootCellName, 0);
+        } else 
+#endif /* AFS_FREELANCE_CLIENT */        
+            cellp = cm_FindCellByID(scp->fid.cell, 0);
     }
 
     if (!cellp) {