Neil,
we use this technique in the dispatch routine. As I said, the problem occurs
in the FastIO path.
Does this rule apply to FastIO, too ?
Thanks,
Lars
-----Ursprüngliche Nachricht-----
Von: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]Im Auftrag von Neal
Christiansen
Gesendet: Samstag, 7. Februar 2004 09:43
An: Windows File Systems Devs Interest List
Betreff: RE: RE: Re:[ntfsd] Bugcheck NTFS_FILE_SYSTEM (24)
A very simple rule-of-thumb to follow is this:
Before generating an IO operation to the underlying file system call
IoGetTopLevelIrp() (which is a very fast call). If it returns a
non-zero value it is NOT safe to send an I/O request to the underlying
file system because you have the potential for deadlocking.
This is because whenever TopLevelIrp is non-zero this means we are in
some sort of recursive IO operation (like handling a page fault which
occurred in the file system) and you must assume that the underlying
file system is holding a lock of some kind.
At times you will see NTFS take 2 nested page faults. While processing
a create IRP it is common to have NTFS take a page fault and while
processing that paging read take a 2nd (nested) page fault.
Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
rights.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@t-online.de
Sent: Wednesday, February 04, 2004 5:57 AM
To: Windows File Systems Devs Interest List
Subject: AW: RE: Re:[ntfsd] Bugcheck NTFS_FILE_SYSTEM (24)
So regarding my primary issue:
Is rolling an IRP_MJ_QUERY_INFORMATION from a FastIO function allowed ?
Lars
-----Original Message-----
- You mentioned the IRP_PAGING_IO flag. My interpretation was that
his
problem happend in the FastIO path. So: is there a way to detect
“PAGING_IO” in the FastIO path ?
You won’t get paging i/o in fast path. Fast path are for requests
that
can be serviced by cache manager or other non-blocking objects.
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: xxxxx@t-online.de
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: xxxxx@t-online.de
To unsubscribe send a blank email to xxxxx@lists.osr.com