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,
ntStatus));
if ( NT_SUCCESS( ntStatus))
if ( NT_SUCCESS( ntStatus) &&
ntStatus != STATUS_PENDING)
{
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 &&
bReleaseSectionObject)
{