3.3.6.1 OpLock Break Acknowledgment Timer Event

When the Oplock Break Acknowledgment timer expires, the server MUST enumerate all connections in Server.ConnectionTable and MUST find all Server.Opens in each Server.Connection where Server.Open.OplockState is Breaking and Server.Open.OplockTimeout is earlier than the current time. For each matching Server.Open, the server MUST acknowledge the OpLock break to the underlying object store. The server MUST set Server.Open.Oplock to the type of Oplock that was granted during the Oplock Break Notification, as specified in section 3.3.4.2, and MUST set Server.Open.OplockState to None.

If at least one Server.Open has a Server.Open.OplockState equal to Breaking, the Oplock Break Acknowledgment Timer (section 3.3.2.1) MUST be restarted to expire again at the time of the next Oplock timeout; otherwise, the Oplock Break Acknowledgment Timer MUST NOT be restarted.