Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
  • Creating the right design for your requirements
  • Reviewing your existing driver code
  • Analyzing driver reliability/performance issues
  • Custom training mixed with consulting and focused directly on your specific areas of interest/concern.
Check us out. OSR, the Windows driver experts.

OSR Seminars


Go Back   OSR Online Lists > ntfsd
Welcome, Guest
You must login to post to this list
  Message 1 of 3  
09 Apr 18 05:55
maneesh samria
xxxxxx@gmail.com
Join Date: 24 Mar 2014
Posts To This List: 30
FSCTL_REQUEST_OPLOCK and FltOplockFsctrl

Hi , I need your help to understand the concept around oplock. While working on oplock I have found that the call FltOplockFsctrl() is returning FLT_PREOP_PENDING. But it remains so for over 600sec ,in end the status of IRP (FSCTL) is seen to the CANCELLED on Process monitor. The requsted code is FSCTL_REQUEST_OPLOCK , that is called by a process on local matchine. Also there is no parallel access , the reference count is 1 on FCB. though FltCurrentOplock() returns TRUE for the Oplock pointer. The product is shadow file object based encryption driver. The code for this fsctl callback is matching with the sample "fastfat". please help me to understand the problem. Thanks in advance. Regards, Maneesh
  Message 2 of 3  
10 Apr 18 11:06
rod widdowson
xxxxxx@steadingsoftware.com
Join Date: 11 Sep 2006
Posts To This List: 865
FSCTL_REQUEST_OPLOCK and FltOplockFsctrl

Do you understand how oplocks work? You might want to refresh your knowledge.. > But it remains so for over 600sec ,in end the status of IRP (FSCTL) is > seen to the CANCELLED on Process monitor. This seems completely reasonable to me. FileTest had some pretty funky extensions added recently (in the last 5 years :-) to poke at oplocks. I'd start there. /Rod
  Message 3 of 3  
20 Apr 18 02:40
NtDev Geek
xxxxxx@gmail.com
Join Date: 09 Aug 2013
Posts To This List: 41
FSCTL_REQUEST_OPLOCK and FltOplockFsctrl

If you request an oplock and your FO is opened for synchronous I/O this function will not grant the oplock. use this FsRtlCheckOplock () Every time you processes an operation that could cause an oplock break this is to check if the current operation breaks the oplock so you can block until the break is acknowledged.and this is what happening in your case.
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntfsd list to be able to post.

All times are GMT -5. The time now is 17:21.


Copyright ©2015, OSR Open Systems Resources, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license