From c29dc399769c54bbab4af5bd4f828f0d49755860 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sat, 17 Dec 2011 12:13:17 -0500 Subject: [PATCH] Windows: notify file size change if flushed When processing AFS_INVALIDATE_FLUSHED, notify any listeners that the file size has changed to force a complete refresh. Change-Id: Ie5f0076ea786357ae77ef6a76f162c776d555953 Reviewed-on: http://gerrit.openafs.org/6364 Reviewed-by: Jeffrey Altman Tested-by: BuildBot --- src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp index 84cca30..7462d58 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp @@ -1741,7 +1741,8 @@ AFSInvalidateCache( IN AFSInvalidateCacheCB *InvalidateCB) ulFilter |= FILE_NOTIFY_CHANGE_SECURITY; } - if( InvalidateCB->Reason == AFS_INVALIDATE_DATA_VERSION) + if( InvalidateCB->Reason == AFS_INVALIDATE_DATA_VERSION || + InvalidateCB->Reason == AFS_INVALIDATE_FLUSHED) { ulFilter |= FILE_NOTIFY_CHANGE_SIZE | FILE_NOTIFY_CHANGE_LAST_WRITE; } @@ -2476,7 +2477,8 @@ AFSInvalidateVolume( IN AFSVolumeCB *VolumeCB, ulFilter |= FILE_NOTIFY_CHANGE_SECURITY; } - if( Reason == AFS_INVALIDATE_DATA_VERSION) + if( Reason == AFS_INVALIDATE_DATA_VERSION || + Reason == AFS_INVALIDATE_FLUSHED) { ulFilter |= FILE_NOTIFY_CHANGE_SIZE | FILE_NOTIFY_CHANGE_LAST_WRITE; } @@ -2553,7 +2555,8 @@ AFSInvalidateVolume( IN AFSVolumeCB *VolumeCB, ulFilter |= FILE_NOTIFY_CHANGE_SECURITY; } - if( Reason == AFS_INVALIDATE_DATA_VERSION) + if( Reason == AFS_INVALIDATE_DATA_VERSION || + Reason == AFS_INVALIDATE_FLUSHED) { ulFilter |= FILE_NOTIFY_CHANGE_SIZE | FILE_NOTIFY_CHANGE_LAST_WRITE; } -- 1.9.4