summaryrefslogtreecommitdiffstats
path: root/source3/smbd/oplock.c
Commit message (Collapse)AuthorAgeFilesLines
* s3:smbd/oplock: avoid using server_event_context() in ↵Stefan Metzmacher2011-12-121-3/+3
| | | | | | add_oplock_timeout_handler() metze
* s3: Fix some 64-bit warningsVolker Lendecke2011-12-081-8/+12
|
* s3: Use autogenerated open_files.idlVolker Lendecke2011-12-021-0/+1
|
* s3: Pass sconn explicitly to schedule_deferred_open_message_smbVolker Lendecke2011-08-021-2/+10
|
* s3: Fix some nonempty blank linesVolker Lendecke2011-08-021-4/+4
|
* s3-build: Provide a run-time shim to work around duplicate symbolsAndrew Bartlett2011-06-211-2/+2
| | | | | | | | | | | | | | | | The become_root() and similar 'smbd' functions that are used widely in Samba libraries had 'dummy' copies in dummysmbd.c and dummyroot.c. These have been replaced by a runtime plugin mechanim, which ensures that standlone binaries still do nothing, while in smbd the correct function is used. This avoids having these as duplicate symbols in the smbd binary, which can cause unpredictable behaviour. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
* lib/util Bring procid_str() into lib/util as server_id_string()Andrew Bartlett2011-06-091-5/+5
| | | | | | | This is needed for OpenChange, which prints Samba struct server_id values in debug messages. Andrew Bartlett
* s3-talloc Change TALLOC_ARRAY() to talloc_array()Andrew Bartlett2011-06-091-1/+1
| | | | | Using the standard macro makes it easier to move code into common, as TALLOC_ARRAY isn't standard talloc.
* s3-globals Remove smbd_event_context() (use server_event_context())Andrew Bartlett2011-05-311-1/+1
| | | | | | | | This has been a wrapper around server_event_context() for some time now, and removing this from dummmysmbd.c assists with library dependencies. Andrew Bartlett
* s3-messages: make ndr_messaging.h part of messages.h.Günther Deschner2011-03-301-1/+0
| | | | Guenther
* s3-messages: only include messages.h where needed.Günther Deschner2011-03-301-0/+1
| | | | Guenther
* s3: include smbd/smbd.h where needed.Günther Deschner2011-03-301-0/+1
| | | | Guenther
* s3-cluster Always fill in the clustering vnn elementAndrew Bartlett2011-02-171-4/+0
| | | | | | This avoids this structure being partially uninitialised. Adnrew Bartlett
* Move the "oplock file with byte range locks" check to the correct place, ↵Jeremy Allison2011-02-051-17/+0
| | | | | | | where we're making oplock decisions. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Feb 5 01:18:14 CET 2011 on sn-devel-104
* Ensure we send the direct levelII oplock break to the correct fid.Pavel Shilovsky2011-02-011-1/+10
| | | | | Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Tue Feb 1 00:39:56 CET 2011 on sn-devel-104
* Fix bug #7928 - Samba problems with kernel oplocks option set to "no"Pavel Shilovsky2011-01-311-7/+28
| | | | | We should not grant levelII oplocks on a file with existing byte range locks.
* Add name_hash into the share mode entry struct (as yet only use for renames ↵Jeremy Allison2011-01-251-0/+2
| | | | to identify a specific path).
* s3: Hang the isilon kernel oplocks off the NULL contextVolker Lendecke2010-10-081-1/+2
| | | | | | | | | | | | | All I see is a fd_event that does not need a special destructor. Tim, Steven, I've added the #error as well for you to remove after review. Thanks, Volker Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Fri Oct 8 20:48:11 UTC 2010 on sn-devel-104
* s3: Hang the irix kernel oplocks off the NULL ctxVolker Lendecke2010-10-081-1/+1
| | | | Just a fd_event to be cleaned up. The pipe is closed implicitly.
* s3: Hang the linux kernel oplocks off the NULL ctxVolker Lendecke2010-10-081-1/+1
| | | | | The destructor that is called removes the signal handler. But at process exit the signal handling is lost anyway.
* s3: Stop using the write cache after an oplock breakVolker Lendecke2010-10-051-0/+1
| | | | | Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Tue Oct 5 10:09:38 UTC 2010 on sn-devel-104
* s3: Remove smbd_server_conn from process_kernel_oplock_breakVolker Lendecke2010-10-031-2/+8
|
* s3: Remove smbd_server_conn from process_oplock_break_messageVolker Lendecke2010-10-031-3/+8
|
* s3: Remove smbd_server_conn from process_oplock_async_level2_break_messageVolker Lendecke2010-10-031-2/+8
|
* s3: Lift smbd_server_conn from initial_break_processingVolker Lendecke2010-10-031-5/+9
|
* s3: Lift smbd_server_conn from file_find_difVolker Lendecke2010-09-281-1/+1
|
* s3: Make srv_send_smb take an sconn instead of a sock fdVolker Lendecke2010-08-241-1/+1
|
* s3: Remove smbd_server_fd from send_break_message_smb1Volker Lendecke2010-08-161-1/+1
|
* s3: Remove smbd_messaging_context() from contend_level2_oplocks_begin_default()Volker Lendecke2010-07-051-1/+1
|
* s3: Remove smbd_messaging_context() from reply_to_oplock_break_requests()Volker Lendecke2010-07-051-1/+1
|
* s3: Remove procid_self() from break_kernel_oplock()Volker Lendecke2010-07-051-1/+1
|
* s3: Remove smbd_server_conn from break_level2_to_none_asyncVolker Lendecke2010-06-121-1/+1
|
* Rename "allow_smb2" -> "using_smb2" and make the usage clearer.Jeremy Allison2010-06-091-3/+3
|
* Be more forgiving on client oplock break failure (as Windows does). Remove a ↵Jeremy Allison2010-05-131-4/+0
| | | | | | global. Jeremy.
* Pass more SMB2 oplock tests. Only oplock stream tests left to fix.Jeremy Allison2010-05-121-1/+4
| | | | Jeremy.
* s3: only include gen_ndr headers where needed.Günther Deschner2010-05-061-0/+1
| | | | | | | | | | | | | | | | | This shrinks include/includes.h.gch by the size of 7 MB and reduces build time as follows: ccache build w/o patch real 4m21.529s ccache build with patch real 3m6.402s pch build w/o patch real 4m26.318s pch build with patch real 3m6.932s Guenther
* Implement oplocks within SMB2. Plumb into the existing SMB1 oplock system.Jeremy Allison2010-04-241-3/+3
| | | | | | Seems to work but needs more tests (to be added). Jeremy.
* Move to using 64-bit mid values in our internal open file database.Jeremy Allison2010-04-121-30/+30
| | | | | | | This will allow us to share logic much easier between SMB1 and SMB2 servers. Jeremy
* Plumb SMB2 stubs into all the places we defer SMB1 operations.Jeremy Allison2010-04-091-12/+12
| | | | | | | | Rename functions to be internally consistent. Next step is to cope queueing single (non-compounded) SMB2 requests to put some code inside the stubs. Jeremy.
* Start to plumb smb2 into the oplock system. Calls dummy functions for now.Jeremy Allison2010-04-071-46/+41
| | | | Jeremy.
* s3: Fix a typoVolker Lendecke2010-01-191-1/+1
|
* s3: Remove a comment from ancient times that no longer appliesVolker Lendecke2010-01-191-1/+0
|
* s3: Remove debug_ctx()Volker Lendecke2009-11-031-5/+5
| | | | | | | | smbd just crashed on me: In a debug message I called a routine preparing a string that itself used debug_ctx. The outer routine also used it after the inner routine had returned. It was still referencing the talloc context that the outer debug_ctx() had given us, which the inner DEBUG had already freed.
* s3: Change fsp->fsp_name to be an smb_filename struct!Tim Prouty2009-07-201-10/+14
|
* We have to deny a level 2 oplock if kernel oplocks are enabledVolker Lendecke2009-04-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | The second r/o opener of a file is supposed to get a level2 oplock. The first opener due to the protection in process_oplock_break_message() has been forced to break to no oplock. The second opener according to locking.tdb gets a level2 oplock. Further down in open_file_ntcreate we try to set this level2 oplock in the kernel, and the non-clustered Linux kernel disallows this. The rules for the kernel leases are a bit baroque, but the attempt to do the SETLEASE correctly fails and we end up with no oplock for any client. In the clustered case however the linux kernel on the second opening node has not seen the open fd of the first node, it is only the cluster fs that has this information. If the cluster fs does not have the very same notion of leases as the local kernel has, we can end up with a WRLCK style kernel lease for the second opener where locking.tdb only indicates a level2 oplock. Getting a kernel oplock break signal with just a level2 oplock in locking.tdb is something smbd is not prepared for. For example after sending out the break in response to the kernel signal we set a timeout, waiting for a reply. More work needs to be done to make level2 kernel oplocks real for us. This patch addresses a real problem we have right now without them.
* s3 oplocks: Add back procid_str to debug messageTim Prouty2009-04-071-2/+3
|
* s3 oplocks: Refactor level II oplock contentionTim Prouty2009-04-061-57/+53
|
* Use cluster-aware procid_is_me instead of comparing pid'sVolker Lendecke2009-04-031-2/+2
|
* Use procid_str in debug messages for better cluster-debuggabilityVolker Lendecke2009-04-031-11/+13
|
* s3:smbd: use new simplified snb_signing code in the serverStefan Metzmacher2009-03-231-24/+3
| | | | | | | | | We keep the seqnum/mid mapping in the smb_request structure. This also moves one global variable into the smbd_server_connection struct. metze