]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: Dir Invalidation Notify Current Object
authorJeffrey Altman <jaltman@your-file-system.com>
Fri, 22 Jun 2012 20:46:23 +0000 (16:46 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Tue, 3 Jul 2012 16:28:33 +0000 (09:28 -0700)
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 <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/AFSGeneric.cpp

index ac81d7c3cd2fb31da397d28d8b0b5c4935d71f2a..ba6ba809ad5389c511bd79cbc9a163ac1366c798 100644 (file)
@@ -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