A Level II oplock is a non-exclusive (read-only/deny-write) file lock that an SMB client may obtain at the time it opens a file. The server grants the oplock only if all other applications currently accessing the file also possess Level II oplocks:
- If another client owns an Exclusive or Batch oplock, the server breaks it and converts it to a Level II oplock before the new client is granted the oplock.
- If a client owns a Level II oplock on a file, it can cache part or all of the file locally. The clients owning the oplock can read file data and attributes from local information without involving the server, which guarantees that no other client may write to the file.
- If a client wants to write to a file that has a Level II oplock, the server asks the client that has the oplock to release it, then allows the second client to perform the write. This happens regardless of the network protocol that the second client uses.