How to Disable OPLOCKS

Adding this Registry fix will solve 98 errors caused by windows OpLocks.  This should be done by your networking admin.  Please get in contact with this person before contacting RTA.

Problem

OpLocks grabs files and does not release them, causing a whole multitude of 98 errors in the RTA system. 

Note You must restart the computer for these registry changes to take effect.

Solution - Disable OpLocks

SMB Version Info
  • When a Windows Server 2012/Windows 8 "client" connects to a Windows Server 2012/Windows8 "server", SMB 3.x is used by default .

  • When a Windows Server 2008/2008R2/2012/ or Vista/Windows7/Windows8 "client" connects to a Windows Server 2008/2008R2/Vista/Windows7 "server", SMB 2.x is used by default.

  • When a Windows Server 2008/2008R2/2012/ or Vista/Windows7/Windows8 "client" connects to a Windows 2000/XP/2003 "server", SMB 1.0 is used by default.

  • When a Windows 2000/XP/Server 2003 "client" connects to any "server", SMB 1.0 is used.


XP/2003 only do SMB 1.0 (Oplocks1), but 2008/2008R2/Vista /Windows7 can do either SMB 1.0, 2.0, 2.1, depends on the server O/S, See above.

Disable OpLocks NOT SERVER 2012

To disable Oplocks 2 & 1 on Oplocks on servers 2008, Windows 2008R2, and 
workstations Vista, Windows 7, and Windows 8 except for Server 2012

  • HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters - “EnableOplocks” = dword:00000000
  • HKLM\SYSTEM\CurrentControlSet\services\mrxsmb\Parameters - “OplocksDisabled” = dword:00000001
  • HKLM\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters -“Smb2″ = dword:0×00000000


Even though Windows 8 does Oplocks 3 disable the client/requests with Oplocks 2 registry edits.

Disable Server 2012 and Windows 8 host based on this KB

Oplocks 3 Microsoft KB

Novell/Netware and Linux have unique Oplocks settings, the above setting would not apply to these.

Server 2012

For server 2012, there are two steps, one is a powershell script:

  • Set-SmbServerConfiguration -EnableSMB2Protocol $false
  • Set-SmbServerConfiguration -EnableOplocks $false
  • Set-SmbServerConfiguration -EnableSMB1Protocol $true

The second is registry changes:

Registry for Server 2012

  • Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer - Key - "DependOnService" needs to be set to SamSS Srv
  • Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mrxsmb10 - Key - "DependOnService" needs to be set to mrxsmb
  • Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mrxsmb20 - Key - "DependOnService" needs to be set to mrxsmb




Do not hesitate to call RTA Tech Support for information regarding OpLocks.

Also for Reference:

New info for SMB3 aka Oplocks 3 (Windows 8 and Server 2012)

http://support.microsoft.com/kb/2696547

The previous links was

https://support.microsoft.com/en-us/kb/296264