This article was previously published under Q306981
Level II oplocks are not granted for a file that has had a range of the file locked. This behavior occurs until all references to the file are removed, including references from the operating system, such as the file cache.
This problem prevents network clients from using cached or read-ahead local information, which may affect performance when multiple network clients attempt to detect file data.
For more information about oplock behavior, view both the MORE INFORMATION and REFERENCES sections in this article.
This problem occurs because the file system architecture in the products that are listed at the beginning of this article do not provide a mechanism to synchronize file locks and oplocks. As a result, Level II oplocks cannot be safely granted for a given file after a file lock has been granted for that file.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
You cannot remove the described restrictions on grantable oplock levels without alteratering the system kernel and the Installable File System(IFS) toolkit. This requires redevelopment and redeployment of all file systems (NTFS, CDFS, FastFat, UDFS, and so on, including those file systems that are provided by third parties). The impact of these changes are beyond the scope of hotfixes and service packs for existing operating systems.
Steps to Reproduce the Problem
The following steps require a Windows 2000-based server, and two Windows NT or Windows 2000-based clients.
Client 1 opens the file, requesting read and write access and sharing. For example, this code generates NT_CREATE_ANDX SMB to the server: