Cache and FILE_NO_INTERMEDIATE_BUFFERING

What is supposed to happen when a file opened with
FILE_NO_INTERMEDIATE_BUFFERING was previously opened with caching enabled (and
presumeably is already partially cached)?

This is what is happening in my FSFD:

  1. Application opens file with caching enabled.
  2. Application reads file.
  3. Application closes file.
  4. Application opens file without caching (FILE_NO_INTERMEDIATE_BUFFERING)
  5. Application reads file.
  6. NT4 fall down, go BOOM!

Any ideas as to what to look for would be appreciated.

Thanks.

Neil

> What is supposed to happen when a file opened with

FILE_NO_INTERMEDIATE_BUFFERING was previously opened with caching enabled
(and
presumeably is already partially cached)?

Nothing happens on open. Open just sets the flag in the file object - all
following requests via this file object will be noncached.
Noncached reads to the cached FCB will cause CcFlushCache before actual read
which will go uncached to the lower layers.
Noncached writes to the cached FCB will go to the cache+cause immediate
CcFlushCache after it.

Max