FsRtlEnterFileSystem/FsRtlExitFileSystem

When should I call FsRtlEnterFileSystem/FsRtlExitFileSystem in my FSFD.

Alexey Logachyov
xxxxx@vba.com.by
VirusBlokAda ltd.
http://www.vba.com.by


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

Basically before you acquire the first executive resource/
after you release all executive resources.

Paul

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Alexey Logachyov
Sent: Thursday, November 22, 2001 10:50 AM
To: File Systems Developers
Subject: [ntfsd] FsRtlEnterFileSystem/FsRtlExitFileSystem

When should I call FsRtlEnterFileSystem/FsRtlExitFileSystem in my FSFD.

Alexey Logachyov
xxxxx@vba.com.by
VirusBlokAda ltd.
http://www.vba.com.by


You are currently subscribed to ntfsd as: xxxxx@compelson.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

FsRtlEnterFileSystem must be called before acquiring any ERESOURCE locks.
FsRtlExitFileSystem must be called after releasing all ERESOURCE locks.

Max

----- Original Message -----
From: “Alexey Logachyov”
To: “File Systems Developers”
Sent: Thursday, November 22, 2001 12:49 PM
Subject: [ntfsd] FsRtlEnterFileSystem/FsRtlExitFileSystem

> When should I call FsRtlEnterFileSystem/FsRtlExitFileSystem in my FSFD.
>
> Alexey Logachyov
> xxxxx@vba.com.by
> VirusBlokAda ltd.
> http://www.vba.com.by
>
>
>
> —
> You are currently subscribed to ntfsd as: xxxxx@storagecraft.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

FsRtlEnterFileSystem() disables delivery of all kernel APC’s (excepting
special kernel APCs which are a different kind used for example, for i/o
completion processing), until you call FsRtlExitFileSystem().
Before you acquire a lock - that does not automatically disable APC’s in
your filesystem driver, you will want to disable the kernel APCs using
this call. If you did not - somebody can suspend your thread after you
acquired the lock.
Thread suspend is achieved by queuing a kernel mode APC. If you don’t
disable them, you can be suspended indefinitely while you are holding
the lock and hence hang the system effectively, because all the other
waiters on this lock will not be satisfied.

Unfortunately ERESOURCEs do not disable APCs - so you have to precede
resource acquires with this call at the minimum.

Ravi

This posting is provided “AS IS” with no warranties, and confers no
rights. You assume all risk for your use.
-----Original Message-----
From: Alexey Logachyov [mailto:xxxxx@vba.com.by]
Sent: Thursday, November 22, 2001 1:50 AM
To: File Systems Developers
Subject: [ntfsd] FsRtlEnterFileSystem/FsRtlExitFileSystem

When should I call FsRtlEnterFileSystem/FsRtlExitFileSystem in my FSFD.

Alexey Logachyov
xxxxx@vba.com.by
VirusBlokAda ltd.
http://www.vba.com.by


You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.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