1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
samba-mirror/source3
Volker Lendecke 3c10d06524 We have to deny a level 2 oplock if kernel oplocks are enabled
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.
2009-04-12 14:56:23 +02:00
..
auth s3-auth: rename static smb_create_user(). Sorry... 2009-04-01 21:44:14 +02:00
client Remove the global "struct cm_cred_struct" and associated calls, make 2009-03-17 14:53:06 -07:00
exports
groupdb
include Reactivate get_socket_port 2009-04-12 14:51:15 +02:00
iniparser
iniparser_build
intl
lib Reactivate get_socket_port 2009-04-12 14:51:15 +02:00
libaddns s3: only define TALLOC_ZERO if needed 2009-03-16 11:14:53 +01:00
libads s3:kerberos Rework smb_krb5_unparse_name() to take a talloc context 2009-04-07 13:25:36 +02:00
libgpo s3/gpo_ldap: Fix typo. 2009-04-07 20:05:21 +02:00
libnet s3:kerberos Rework smb_krb5_unparse_name() to take a talloc context 2009-04-07 13:25:36 +02:00
librpc s3: Modifications to generic notify structures to allow implementation of OneFS notify. 2009-02-20 14:10:30 -08:00
libsmb Fix a bug in smbclient not sending the correct called name 2009-04-12 14:51:15 +02:00
locale/pam_winbind
locking Use procid_str in debug messages for better cluster-debuggability 2009-04-03 12:19:20 +02:00
lua-5.1.4
m4 s3:build: no need to set LIBFOO_STATIC to the object collection any more 2009-04-01 10:41:34 +02:00
modules s3 onefs: Fix case-insensitivity for mangled names 2009-04-07 10:44:50 -07:00
nmbd Fix bug #6224 - nmbd waits 5 minutes at startup before checking if it needs to run elections 2009-03-26 12:28:40 -07:00
pam_smbpass
param s3/loadparm: Fiy typos. 2009-04-07 20:05:21 +02:00
passdb s3:smbldap Remove smbldap_get_dn 2009-04-06 14:52:51 +02:00
pkgconfig
po
printing s3-libads: avoid NULL talloc context with ads_get_dn(). 2009-04-07 01:17:30 +02:00
profile S3: Add in profile counters for new vfs and syscall entries. 2009-02-24 15:53:01 -08:00
registry s3-registry: remove last sec_io_desc() caller. 2009-03-25 22:50:40 +01:00
rpc_client Convert rpc_transport_smbd_init to tevent_req 2009-04-08 22:17:04 +02:00
rpc_parse s3:rpc_parse remove unused prs_unistr2() 2009-04-07 20:51:55 +02:00
rpc_server s3-spoolss: implement dummy _spoolss_AddPort(). 2009-04-10 13:25:09 +02:00
rpcclient s3-rpcclient: allow to set flags in cmd_ntsvcs_get_dev_list(). 2009-04-10 01:06:56 +02:00
script s3-selftest: enable the RPC-NTSVCS torture test against Samba3. 2009-04-10 01:07:01 +02:00
selftest selftest/Samba3: Test smb signing against the member server 2009-03-23 12:21:14 +01:00
services s3:services_db: use regsubkey_ctr_init() instead of using talloc directly 2009-02-26 13:22:53 +01:00
smbd We have to deny a level 2 oplock if kernel oplocks are enabled 2009-04-12 14:56:23 +02:00
stf
tests
torture s3:smbtorture Convert charcnv torture suite to use push_ucs2_talloc() 2009-04-07 12:54:59 +02:00
utils s3-net: Fix Bug #5329: add "net rpc service delete/create". 2009-04-08 22:40:24 +02:00
web
winbindd s3-libads: avoid NULL talloc context with ads_get_dn(). 2009-04-07 01:17:30 +02:00
.dmallocrc
.indent.pro
autogen.sh Allow using external libtalloc. 2009-03-14 20:56:26 +01:00
change-log
config.guess
config.sub
configure.developer
configure.in Print an error if trying a merged build without a system kerberos lib 2009-04-01 16:31:10 +02:00
Doxyfile
dynconfig.c
install-sh
localedir.c
mainpage.dox
Makefile.in Link in the threads functions, not yet used. 2009-04-10 14:45:45 -07:00
samba4-templates.mk
samba4.m4 configure: Use m4 defines for minimum library versions rather than shell 2009-03-26 16:28:45 +01:00
samba4.mk s4:selftest: rename SMBD_VALGRIND => SAMBA_VALGRIND 2009-03-21 10:44:40 +01:00
smbadduser.in
VERSION