OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_21-105-g9e3166b
Gerrit Code Review
gerrit@openafs.org
Sat, 23 Feb 2013 19:07:06 -0800 (PST)
The following commit has been merged in the openafs-devel-1_7_x branch:
commit 9e3166b6636c614eaea8a8e31ba5368126bba15d
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date: Mon Feb 18 10:33:29 2013 -0500
Windows: Call CcDeferWrite rather than loop
If we are about to write into the cache and we do not have enough
memory we call CcDeferWrite and return STATUS_PENDING. This allows
the cache to call us back when there is memory.
The write is performed on the IO queue which is shared wth paging
writes. However this does not cause paging writes to block in a
memory shortage situation since the request will either be deferred
again (releasing a thread to service a paging write) or will complete
quickly. Further we allocate all our resources upfront so we fail
fast and in the appropriate place.
Reviewed-on: http://gerrit.openafs.org/9127
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 11aa3e09e591b325e80c5d4a420051923f121b82)
Change-Id: Ib905f28a4a6f950c218f734f9c933844b42ac39e
Reviewed-on: http://gerrit.openafs.org/9216
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsrdr/kernel/lib/AFSWorker.cpp | 162 +++++++++++++++++++++-
src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp | 51 +++++--
src/WINNT/afsrdr/kernel/lib/Include/AFSCommon.h | 13 ++-
src/WINNT/afsrdr/kernel/lib/Include/AFSDefines.h | 1 +
4 files changed, 208 insertions(+), 19 deletions(-)
--
OpenAFS Master Repository