SMB lease
An SMB lease is a server-granted arrangement that permits selected client-side read, write, or handle caching while coordinating access to a shared object.
Lease state can be shared by several opens using the same client lease identity. HANDLE caching permits delayed closes or deferred opens; it is not the durable-handle reconnect capability. Conflicting operations can trigger revocation of caching rights. [1] The lease-request LeaseDuration field is reserved, not an application-selectable expiry interval. [2] Client caching rights describe buffering, not stable-write completion. [3] [4] Classic oplock levels have a different request form. [5] A lease can cache byte-range locks under WRITE caching, but a caching lease and a range lock serve different purposes. [3] Gray and Cheriton's historical time-bounded cache protocol is context, not the SMB wire contract or an expiry setting for this reserved field. [6] [2]
Relations
- related
- smb-protocol, smb-durable-handle, smb-persistent-handle, smb-oplock, smb-byte-range-lock
Citations
- Microsoft MS-SMB2 section 3.3.1.4: Algorithm for Leasing in an Object Store
- Microsoft MS-SMB2 section 2.2.13.2.8: Lease request
- Microsoft MS-SMB2 section 3.2.1.5: Per Open File
- Microsoft MS-SMB2 section 2.2.21: SMB2 WRITE Request
- Microsoft MS-SMB2 section 2.2.13: SMB2 CREATE Request
- Cary G. Gray and David R. Cheriton: Leases: An Efficient Fault-Tolerant Mechanism for Distributed File Cache Consistency (SOSP 1989), sections 2, 3.2 and 5