windows-prefetch-executables-20070910
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 10 Sep 2007 20:06:58 +0000 (20:06 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 10 Sep 2007 20:06:58 +0000 (20:06 +0000)
commit3b7188b326292c8161048108b2355c4acdc44f30
tree0621c5dc166b7ab90521856ddd746ce88b4e916b
parent22da0dd5f8025d8e842229290e3e07207483ce1a
windows-prefetch-executables-20070910

This code defines a new service parameter "PrefetchExecutableExtensions"
of type REG_MULTI_SZ.  By default it is undefined and does nothing.  If
it is defined, files that match the extensions will be prefetched in
their entirety.

All of the prefetch functions now pay attention to the length parameters.
Previously, length parameters were specified on some functions in the
chain but they were ignored.  The reality was that the chunksize was
used regardless of what was indicated.

Prefetching is still optional.  If the prefetch fails during the initial
attempt you lose.  Otherwise, as many buffers as are required to satisfy
the requested prefetch length will be requested from the file server in
chunksize units.  If buffers have already been acquired, they are skipped
during the prefetch operation.
src/WINNT/afsd/afsd_init.c
src/WINNT/afsd/cm_buf.h
src/WINNT/afsd/cm_dcache.c
src/WINNT/afsd/cm_dcache.h
src/WINNT/afsd/cm_scache.h
src/WINNT/afsd/smb.h
src/WINNT/afsd/smb3.c