SMB Stack Update in OES 2018 SP2 - SMB Leases


There are several reasons why you may want to access SMB shares on OES servers over the WAN. It is essential to ensure optimized bandwidth consumption when accessing files over the WAN. We have updated the SMB stack (aka OES CIFS) with support for SMB Leases in OES 2018 SP2 to help reduce network round trips, thereby improving performance.

Oplocks (opportunistic locks) and Oplock Lease are a performance enhancement mechanism whereby the server allows clients in certain file-sharing scenarios to perform client-side caching of read, write data and, lock information. The client-side caching improve the overall performance by reducing the number of packets exchanged (network traffic) between client and server.

Oplock Leases:

  • Oplock Leases is an enhanced form of oplocks available with the SMB 2.1 protocol and later. Oplock Leases allow clients to obtain and preserve client caching state across multiple file open calls originating from themselves. It provides better performance compared to oplocks by increasing the amount of caching and by reducing the number of cache break.
  • The Oplock Leases is based on client-generated lease key rather than FID/file handle based. The lease key is used to link together multiple handles to the same file from the same client. It allows full data caching even when the same client opens several handles to the same file. However, with traditional oplocks, an additional file handle from the same client will break the existing oplock, disable the client caching, and flush cached data to the server.
  • The types of caching available in oplock leasing:
    • Read-caching - caching of reads and can be shared by multiple clients.
    • Write-caching - caching of writes and is exclusive to only one client.
    • Handle-caching - caching handles and can be shared by multiple clients.
  • A lease has a lease state which is a combination of one or more of the caching types:
    • RWH (Read-caching | Write-caching | Handle-caching) – “Batch Oplock”
    • RW (Reach-caching |Write-caching) – “Exclusive Oplock”
    • R (Read-caching) – “LII” oplock
    • RH (Read-caching | Handle-caching) – New

The new “RH” lease level helps in the following:

  • Allows read caching and handle caching so multiple clients can hold on to cached data even after the application closes their handles
  • A significant improvement for certain kind of scenarios/applications compared with LII oplocks, which have to be broken between closing and opening handles.

Advantage of oplock leases over oplocks:

  1. Oplock leases are associated with a “lease key” instead of file handle. It implies that multiple handles can share the same lease as long as they share the same lease key (In other words a 2nd open to the same file using the same “lease key” will not break the lease held on the first open.).
  2. The new RH level of caching allows multiple clients to cache read data and file handles for the same file. 

How to enable oplock leases in OES2018SP2?

You can enable or disable the oplock leases using novcifs command:

novcifs --leasing=yes|no 

Enables or disables oplock leases.  Oplock leases is enabled by default.

The options -Flop <path-to-file>, -Flov <volume-name> and -Flon <connection-number> are added in novcifs command to display oplock or ease level of open files.

E.g : novcifs –Flov  <volume-name> 

For more information:

What’s New or Changed in OES CIFS (OES 2018 SP2)

On Locks Management for CIFS


New Release-Feature
Comment List