Windows: AFSLocateNameEntry tracking DirectoryCB IN/OUT
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 9 Feb 2013 04:46:44 +0000 (23:46 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Tue, 12 Feb 2013 04:16:06 +0000 (20:16 -0800)
commita1b6015cec049367c4832d7299bcdba19ea3b3fe
tree8bac9eef95cf4f5291e039bdd80e1c85f3f5e651
parentef02d3845bedf5daf4628e52d4452ea58eb7909a
Windows: AFSLocateNameEntry tracking DirectoryCB IN/OUT

AFSLocateNameEntry previously accepted ParentDirectoryCB as an IN/OUT
parameter in which a reference count was passed in but a reference
count was not passed back out.  The DirectoryCB parameter is an OUT
parameter for which a reference count should be returned on success.

This patchset simplifies the logic.  ParentDirectoryCB is IN only
and OutParentDirectoryCB and DirectoryCB are out only.  AFSLocateNameEntry
never releases a reference count provided by the caller and it always
returns OutParentDirectoryCB and DirectoryCB with a new reference count
unless they are NULL.  It is the callers responsibility to determine if
ParentDirectoryCB has changed and to release all of the references.

Change-Id: I4843d1d685917fd3f41409d0b11f5b768c2c1dd6
Reviewed-on: http://gerrit.openafs.org/9087
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/AFSCreate.cpp
src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp
src/WINNT/afsrdr/kernel/lib/AFSNameSupport.cpp