Author: vlendec Date: 2005-08-05 05:42:09 +0000 (Fri, 05 Aug 2005) New Revision: 9103
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9103 Log: Hmm. It's too late :-) Here's the real fix for the problem jerry sees. Volker Modified: trunk/source/smbd/open.c trunk/source/smbd/oplock.c Changeset: Modified: trunk/source/smbd/open.c =================================================================== --- trunk/source/smbd/open.c 2005-08-05 05:32:39 UTC (rev 9102) +++ trunk/source/smbd/open.c 2005-08-05 05:42:09 UTC (rev 9103) @@ -1670,7 +1670,10 @@ set_share_mode(fsp, 0, fsp->oplock_type); if ((fsp->oplock_type != NO_OPLOCK) && (fsp->oplock_type != FAKE_LEVEL_II_OPLOCK)) { - set_file_oplock(fsp, fsp->oplock_type); + if (!set_file_oplock(fsp, fsp->oplock_type)) { + /* Could not get the kernel oplock */ + fsp->oplock_type = NO_OPLOCK; + } } if (create_options & FILE_DELETE_ON_CLOSE) { Modified: trunk/source/smbd/oplock.c =================================================================== --- trunk/source/smbd/oplock.c 2005-08-05 05:32:39 UTC (rev 9102) +++ trunk/source/smbd/oplock.c 2005-08-05 05:42:09 UTC (rev 9103) @@ -110,9 +110,8 @@ BOOL set_file_oplock(files_struct *fsp, int oplock_type) { - if (koplocks) { - koplocks->set_oplock(fsp, oplock_type); - } + if (koplocks && !koplocks->set_oplock(fsp, oplock_type)) + return False; fsp->oplock_type = oplock_type; fsp->sent_oplock_break = NO_BREAK_SENT;