]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: AFSLocateNameEntry move InsertNextEntry
authorJeffrey Altman <jaltman@your-file-system.com>
Mon, 26 Nov 2012 06:18:19 +0000 (01:18 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Thu, 29 Nov 2012 23:49:32 +0000 (15:49 -0800)
In AFSLocateNameEntry, move the InsertNextEntry to name array
call from before the directory entry DirOpenReferenceCount is
incremented to afterwards.  This permits InsertNextEntry() to
consistently assert based upon the DirOpenReferenceCount value.

Change-Id: I3c65f5360650739f6d75b7e657ae5cdea4c14aa4
Reviewed-on: http://gerrit.openafs.org/8517
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsrdr/kernel/lib/AFSNameSupport.cpp

index ff10961848940a91b226cdff677683c86ca19977..c4405a2c531880a101d4e0564ec38a5d8b48c388 100644 (file)
@@ -905,14 +905,6 @@ AFSLocateNameEntry( IN GUID *AuthGroup,
 
                     ASSERT( pCurrentVolume->VolumeReferenceCount > 1);
 
-                    //
-                    // The name array stores both the mount point and the target.
-                    // Insert the target.
-                    //
-
-                    AFSInsertNextElement( pNameArray,
-                                          pCurrentVolume->DirectoryCB);
-
                     //
                     // We want to restart processing here on the new parent ...
                     // Deref and ref count the entries
@@ -940,6 +932,14 @@ AFSLocateNameEntry( IN GUID *AuthGroup,
                                   NULL,
                                   lCount);
 
+                    //
+                    // The name array stores both the mount point and the target.
+                    // Insert the target.
+                    //
+
+                    AFSInsertNextElement( pNameArray,
+                                          pDirEntry);
+
                     pParentDirEntry = NULL;
 
                     //