Windows: AFSCommonWrite STATUS_PENDING is Success

AFSCommonWrite() can return STATUS_PENDING if the write has been
deferred.  In that case, the function exit must not:

 * Update the Valid Data Length

 * Purge the cache

 * or do anything else related to the request

Change-Id: Ib34bef3a1d56d452babcaf1f3cfbf77fe8f93388
Reviewed-on: http://gerrit.openafs.org/10685
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
This commit is contained in:
Jeffrey Altman 2014-01-09 09:58:56 -05:00
parent d5bcff7429
commit 2d5f0a971b

View File

@ -752,7 +752,8 @@ try_exit:
Irp, Irp,
ntStatus)); ntStatus));
if ( NT_SUCCESS( ntStatus)) if ( NT_SUCCESS( ntStatus) &&
ntStatus != STATUS_PENDING)
{ {
if ( !bPagingIo) if ( !bPagingIo)
{ {
@ -784,7 +785,8 @@ try_exit:
} }
} }
if ( !bPagingIo && bNonCachedIo && CcIsFileCached( pFileObject) && if ( ntStatus != STATUS_PENDING &&
!bPagingIo && bNonCachedIo && CcIsFileCached( pFileObject) &&
pNPFcb->SectionObjectPointers.DataSectionObject != NULL && pNPFcb->SectionObjectPointers.DataSectionObject != NULL &&
bReleaseSectionObject) bReleaseSectionObject)
{ {