Can FastIO routines be called at DISPATCH_LEVEL?
Not safely. Any component calling any of the FSD interfaces at
DISPATCH_LEVEL are broken - only completion routines in an FSD need to
be safe to be called at DISPATCH_LEVEL.
Tony
Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mani
Sent: Wednesday, July 12, 2006 1:04 AM
To: ntfsd redirect
Subject: [ntfsd] FastIO at DISPATCH_LEVEL?
Can FastIO routines be called at DISPATCH_LEVEL?
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
Tony,
In FSNotification, my fsf driver calls IoDeleteDevice which in turn
accquires spinlock and calls upper filter (probably FastIoDetachDevice).
That driver routine calls IoDetachDevice at DISPATCH_LEVEL (since
IoDeleteDevice accquiring spinlock) and so produces IRQL_NOT_LESS_OR_EQUAL.
I think that the upper filter driver’s routine is FastIoDetachDevice
because:
a-it is called in the context of IoDeleteDevice.
b-it calls IoDetachDevice.
So few queries:
-
the very purpose of FastIoDetachDevice is detaching from the lower
device.
But since FastIoDetachDevice will be always called in context of
IoDeleteDevice with spinlock held it will not be possible for any filter to
call IoDetachDevice. -
according to you, FastIo’s being called at DISPATCH_LEVEL indicates that
there’s a broken component. But here it is the IoDeleteDevice which is
raising the irql thru IoDeleteDevice. -
is my driver broken here or is it the upper filter which calls
IoDetachDevice at DISPATCH_LEVEL.
“Tony Mason” wrote in message news:xxxxx@ntfsd…
Not safely. Any component calling any of the FSD interfaces at
DISPATCH_LEVEL are broken - only completion routines in an FSD need to
be safe to be called at DISPATCH_LEVEL.
Tony
Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mani
Sent: Wednesday, July 12, 2006 1:04 AM
To: ntfsd redirect
Subject: [ntfsd] FastIO at DISPATCH_LEVEL?
Can FastIO routines be called at DISPATCH_LEVEL?
—
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com
> accquires spinlock and calls upper filter (probably FastIoDetachDevice).
That driver routine calls IoDetachDevice at DISPATCH_LEVEL (since
IoDeleteDevice accquiring spinlock) and so produces
I think that FSFs must only delete their device objects in FastIoDetachDevice,
am I wrong?
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com