I have a standard asynch handler for IRP_MJ_READ. I.e., it “locks down” the
user buffer with an MDL in the dispatch routine. In the completion routine it
does a probe-and-lock and getsystemaddressformdl. Of course it
unlocks/releases the MDL as appropriate.
Anyway, everything works flawlessly. Except once in a while the system hangs
or blue-screens after the following:
An application opens some files with NIFB and closes them. Another
application opens them normally and close them. The first application
attempts to open them again with NIFB and then hangs or BSODs.
Here’s the spooky part: I can get the problem to go away if I put a call to
IoGetTopLevelIrp() at the start of the dispatch routine!
I can post the code for the read handler, but it is really pretty standard.
Does this make any sense to anyone?
Thanks.
Neil
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
What is NIFB?
-----Original Message-----
From: Neil Weicher [mailto:xxxxx@netlib.com]
Sent: Monday, February 26, 2001 10:11 PM
To: File Systems Developers
Subject: [ntfsd] Ok, this is spooky
I have a standard asynch handler for IRP_MJ_READ. I.e., it
“locks down” the
user buffer with an MDL in the dispatch routine. In the
completion routine it
does a probe-and-lock and getsystemaddressformdl. Of course it
unlocks/releases the MDL as appropriate.
Anyway, everything works flawlessly. Except once in a while
the system hangs
or blue-screens after the following:
An application opens some files with NIFB and closes them. Another
application opens them normally and close them. The first application
attempts to open them again with NIFB and then hangs or BSODs.
Here’s the spooky part: I can get the problem to go away if I
put a call to
IoGetTopLevelIrp() at the start of the dispatch routine!
I can post the code for the read handler, but it is really
pretty standard.
Does this make any sense to anyone?
Thanks.
Neil
You are currently subscribed to ntfsd as: xxxxx@nsisw.com
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com