We must send the 'oplock released' message whilst the lock
is held in the close path. Otherwise the messaged smbd can
race with the share mode delete.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12139
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
(cherry picked from commit
df83b17c60a08a27a7ddd1d88dc125e15b3ee06d)
return NT_STATUS_INVALID_PARAMETER;
}
+ /* Remove the oplock before potentially deleting the file. */
+ if(fsp->oplock_type) {
+ remove_oplock_under_lock(fsp, lck);
+ }
+
if (fsp->write_time_forced) {
DEBUG(10,("close_remove_share_mode: write time forced "
"for file %s\n",
return NT_STATUS_OK;
}
- /* Remove the oplock before potentially deleting the file. */
- if(fsp->oplock_type) {
- remove_oplock(fsp);
- }
-
/* If this is an old DOS or FCB open and we have multiple opens on
the same handle we only have one share mode. Ensure we only remove
the share mode on the last close. */