Why This Error Happens
Error 301 occurs when the SMB redirector or a local filesystem driver sends an oplock (opportunistic lock) break acknowledgment that doesn’t match the lock state the server or filesystem cache expects, usually because a stale handle or cache mismatch occurred. This is commonly triggered by third-party filter drivers (antivirus, backup, or sync software) that intercept file I/O and interfere with the oplock negotiation between client and server. Corrupted SMB client cache, outdated network drivers, or an unstable connection to a network share can also desynchronize the lock state and cause this error.
Step-by-Step Resolution Guide
- Identify the triggering driver: Open Event Viewer (
eventvwr.msc) → Windows Logs → System, filter for Event ID 301, and check the “Source” field to see which filesystem or filter driver reported it. - Disable third-party filter drivers temporarily: Open Task Manager → Startup apps, and disable antivirus/backup/sync agents (e.g., OneDrive, Dropbox, third-party AV). Restart the PC and check if the error recurs.
- Reset the SMB client configuration: Open PowerShell as Administrator and run:
Set-SmbClientConfiguration -EnableOplocks $false
Set-SmbClientConfiguration -EnableOplocks $true
This forces Windows to reinitialize the oplock negotiation state.
- Clear the SMB session cache: Run the following in an elevated Command Prompt to remove stale network connections:
net use * /delete /y
Then reconnect to the network share and reproduce the file operation that triggered the error.
- Update network and storage drivers: Go to
Device Manager→ Network adapters (and Disk drives if using local storage), right-click each device → Update driver → Search automatically. Reboot after updates are applied.
Alternative or Verification Steps
- After applying the fixes, reopen Event Viewer and monitor the System log for 24–48 hours to confirm Event ID 301 no longer appears during normal file access.
- If the issue persists only on a specific network share, try disabling oplocks entirely on the server side (via
Set-SmbServerConfiguration -EnableOplocks $false) as a temporary workaround while investigating the root filter driver conflict.