From: Jeffrey Altman Date: Sat, 2 Feb 2008 22:23:01 +0000 (+0000) Subject: DEVEL15-windows-dfs-referrals-symlinks-20082002 X-Git-Tag: openafs-devel-1_5_31~40 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=10822dedd50fa71c4b8351ee9fa465e824aac0d8;p=packages%2Fo%2Fopenafs.git DEVEL15-windows-dfs-referrals-symlinks-20082002 LICENSE MIT another small tweak to ensure that we don't create a symlink for "fo" when a mountpoint or symlink for "foo" exists (cherry picked from commit d52f19ca0aacdbfdf64bdeaae4153c1f2ec7f385) --- diff --git a/src/WINNT/afsd/cm_vnodeops.c b/src/WINNT/afsd/cm_vnodeops.c index 136e0ba1a..9fedbb084 100644 --- a/src/WINNT/afsd/cm_vnodeops.c +++ b/src/WINNT/afsd/cm_vnodeops.c @@ -1303,7 +1303,9 @@ long cm_LookupInternal(cm_scache_t *dscp, char *namep, long flags, cm_user_t *us found = 1; if (!cm_FreelanceMountPointExists(fullname, 0)) code = cm_FreelanceAddMount(fullname, &fullname[1], "root.cell.", 1, &rock.fid); - if ( stricmp(&namep[1], &fullname[1]) && !cm_FreelanceSymlinkExists(namep, flags & CM_FLAG_DFS_REFERRAL ? 1 : 0)) + if ( stricmp(&namep[1], &fullname[1]) && + !cm_FreelanceMountPointExists(namep, flags & CM_FLAG_DFS_REFERRAL ? 1 : 0) && + !cm_FreelanceSymlinkExists(namep, flags & CM_FLAG_DFS_REFERRAL ? 1 : 0)) code = cm_FreelanceAddSymlink(namep, fullname, &rock.fid); } } else { @@ -1311,7 +1313,9 @@ long cm_LookupInternal(cm_scache_t *dscp, char *namep, long flags, cm_user_t *us found = 1; if (!cm_FreelanceMountPointExists(fullname, 0)) code = cm_FreelanceAddMount(fullname, fullname, "root.cell.", 0, &rock.fid); - if ( stricmp(namep, fullname) && !cm_FreelanceSymlinkExists(namep, flags & CM_FLAG_DFS_REFERRAL ? 1 : 0)) + if ( stricmp(namep, fullname) && + !cm_FreelanceMountPointExists(namep, flags & CM_FLAG_DFS_REFERRAL ? 1 : 0) && + !cm_FreelanceSymlinkExists(namep, flags & CM_FLAG_DFS_REFERRAL ? 1 : 0)) code = cm_FreelanceAddSymlink(namep, fullname, &rock.fid); } }