From: Jeffrey Altman Date: Fri, 22 Jun 2012 20:46:23 +0000 (-0400) Subject: Windows: Dir Invalidation Notify Current Object X-Git-Tag: upstream/1.8.0_pre1^2~2276 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=349c1f53383ee26eb13729d703b0b9e89865ec0c;p=packages%2Fo%2Fopenafs.git Windows: Dir Invalidation Notify Current Object When an invalidation is processed for a directory object, send the notification on the directory object that was invalidated not its parent. Change-Id: I2f5e698e451576891a82364058baee3dc6717362 Reviewed-on: http://gerrit.openafs.org/7642 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- diff --git a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp index ac81d7c3c..ba6ba809a 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp @@ -1843,10 +1843,22 @@ AFSInvalidateObject( IN OUT AFSObjectInfoCB **ppObjectInfo, ulFilter |= FILE_NOTIFY_CHANGE_ATTRIBUTES; } - AFSFsRtlNotifyFullReportChange( (*ppObjectInfo)->ParentObjectInformation, - NULL, - ulFilter, - FILE_ACTION_MODIFIED); + if( (*ppObjectInfo)->FileType == AFS_FILE_TYPE_DIRECTORY) + { + + AFSFsRtlNotifyFullReportChange( (*ppObjectInfo), + NULL, + ulFilter, + FILE_ACTION_MODIFIED); + } + else + { + + AFSFsRtlNotifyFullReportChange( (*ppObjectInfo)->ParentObjectInformation, + NULL, + ulFilter, + FILE_ACTION_MODIFIED); + } // // Indicate this node requires re-evaluation for the remaining reasons