mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 15:30:14 +00:00
Windows: Treat all cached writes as write-through
Treat all writes that are cached in the windows page cache as write-through requests so that they are delivered immediately to the AFS cache. The upside is that the afsd service can begin to store data to the file server immediately which can be of significant importance whe the AFSCache is larger than the file size and the file size is large and the bandwidth to the file server is slow. In that situation the entire file can be written into the windows page cache and will only be flushed to disk at the last handle close on the file. The downside is that all data will be written to the file server including that for files that will later have the delete pending flag applied. Change-Id: Icff536f9ec768068692c1e024a943448409e7e40 Reviewed-on: http://gerrit.openafs.org/7319 Tested-by: BuildBot <buildbot@rampaginggeek.com> Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com> Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
This commit is contained in:
parent
0fb70aab0e
commit
b12a038b48
@ -111,7 +111,6 @@ AFSCommonWrite( IN PDEVICE_OBJECT DeviceObject,
|
||||
BOOLEAN bReleasePaging = FALSE;
|
||||
BOOLEAN bExtendingWrite = FALSE;
|
||||
BOOLEAN bCompleteIrp = TRUE;
|
||||
BOOLEAN bForceFlush = FALSE;
|
||||
BOOLEAN bLockOK;
|
||||
BOOLEAN bMapped = TRUE;
|
||||
HANDLE hCallingUser = OnBehalfOf;
|
||||
@ -334,7 +333,6 @@ AFSCommonWrite( IN PDEVICE_OBJECT DeviceObject,
|
||||
if( NULL != pFileObject->SectionObjectPointer->DataSectionObject && !bPagingIo && bNonCachedIo)
|
||||
{
|
||||
bNonCachedIo = FALSE;
|
||||
bForceFlush = TRUE;
|
||||
}
|
||||
|
||||
if( (!bPagingIo && !bNonCachedIo))
|
||||
@ -617,7 +615,7 @@ AFSCommonWrite( IN PDEVICE_OBJECT DeviceObject,
|
||||
liStartingByte.QuadPart,
|
||||
ulByteCount);
|
||||
|
||||
ntStatus = AFSCachedWrite( DeviceObject, Irp, liStartingByte, ulByteCount, bForceFlush);
|
||||
ntStatus = AFSCachedWrite( DeviceObject, Irp, liStartingByte, ulByteCount, TRUE);
|
||||
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user