IRP Flag: NOCACHE

Hi all:
I am confusing in Irp flag. i get the irp from File system filter
driver. Some irp flags have set nocache, Does it means that

  1. Read directly from Hard Driver ( no via cache manager)
  2. No mapping read data to cache memory
    3 Or Noncached reads to the cached FCB will cause CcFlushCache before
    actual read which will go uncached to the lower layers.

Another question, i am writing filter driver improve disk performance
But it seems nothing when i read ahead in fastioread or IRP_MJ_READ…
Is it possible to implement it in file system filter driver ?
Or it it should be implement it in other layer ?
Give me any suggestion. thank you.

IRP_NO_CACHE means: read this data from the disk. Do not read it from the
cache. IRP_PAGING_IO in addition indicates that this is a call from the
Memory Manager (satisfaction of a page fault) while the absence of this flag
indicates the call is from something else (typically, a user application
program.)

If this is paging I/O, just read it from the disk. If this is an
application program, you must also ensure that there is nothing dirty in the
cache (this is the case where a file is opened at least twice - once for
cached I/O, once for non-cached I/O.)

If you are not seeing I/O operations in your filter, it is a problem with
your filter. IRP_MJ_READ and FastIoRead are both utilized by Windows
NT/2000 for performing I/O operations - there’s no “other way” for it to
read data from the underlying file system.

Make sure that you are attaching to the file system device and not the disk
device.

I hope this helps.

Regards,

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@ali.com.tw [mailto:xxxxx@ali.com.tw]
Sent: Monday, August 28, 2000 2:21 AM
To: File Systems Developers
Subject: [ntfsd] IRP Flag: NOCACHE

Hi all:
I am confusing in Irp flag. i get the irp from File system filter
driver. Some irp flags have set nocache, Does it means that

  1. Read directly from Hard Driver ( no via cache manager)
  2. No mapping read data to cache memory
    3 Or Noncached reads to the cached FCB will cause CcFlushCache before
    actual read which will go uncached to the lower layers.

Another question, i am writing filter driver improve disk performance
But it seems nothing when i read ahead in fastioread or IRP_MJ_READ…
Is it possible to implement it in file system filter driver ?
Or it it should be implement it in other layer ?
Give me any suggestion. thank you.


You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

>>If you are not seeing I/O operations in your filter, it is a problem with

>your filter. IRP_MJ_READ and FastIoRead are both utilized by Windows
>NT/2000 for performing I/O operations - there’s no “other way” for it to
>read data from the underlying file system.

>Make sure that you are attaching to the file system device and not the
disk
>device.

Thank you for your help, tony.
There is “no way” to read data from undeflying file system ?
I also write a filter that attached to the disk.
And build irp to read data from disk. It’s really get some data from
disk.
But it seems no mapping the data to cache memory. Maybe it can work if
it
can mapping the data to cache Manager.(but i have no IFS KIT now)

It have a great performance in intel ide driver. I have try to know how
it did.
Anyone know about that ?