From 37e1cd23195215cd5999be7fa5a8de6af7efebcb Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 9 Jun 2009 21:11:04 +0000 Subject: [PATCH] windows-freelance-default-cell-20090609 LICENSE MIT If a freelance mount point does not specify a cell name, default to the workstation cell. --- src/WINNT/afsd/cm_vnodeops.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/WINNT/afsd/cm_vnodeops.c b/src/WINNT/afsd/cm_vnodeops.c index 480396b90b..fe15adbd7f 100644 --- a/src/WINNT/afsd/cm_vnodeops.c +++ b/src/WINNT/afsd/cm_vnodeops.c @@ -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) {