summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2012-09-08 10:47:51 +0200
committerStefan Metzmacher <metze@samba.org>2012-09-08 11:10:54 +0200
commitda071869628c8b6ea6ed01b4f1083680114505a9 (patch)
treecaf7c6065081ff57df900ba813fa7a51b2f88501
parentf2f47b4bae8761d12a878957afac6397565aaf2c (diff)
downloadsamba-da071869628c8b6ea6ed01b4f1083680114505a9.tar.gz
samba-da071869628c8b6ea6ed01b4f1083680114505a9.tar.bz2
samba-da071869628c8b6ea6ed01b4f1083680114505a9.zip
s3: add an option "kernel share modes" to be able to switch off using kernel flocks
Signed-off-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r--lib/param/param_functions.c1
-rw-r--r--lib/param/param_table.c9
-rw-r--r--source3/include/proto.h1
-rw-r--r--source3/param/loadparm.c1
4 files changed, 12 insertions, 0 deletions
diff --git a/lib/param/param_functions.c b/lib/param/param_functions.c
index 52e81a44a5..3b39e88767 100644
--- a/lib/param/param_functions.c
+++ b/lib/param/param_functions.c
@@ -104,6 +104,7 @@ FN_LOCAL_PARM_INTEGER(strict_locking, iStrictLocking)
FN_LOCAL_PARM_BOOL(posix_locking, bPosixLocking)
FN_LOCAL_BOOL(kernel_oplocks, bKernelOplocks)
FN_LOCAL_BOOL(level2_oplocks, bLevel2OpLocks)
+FN_LOCAL_BOOL(kernel_share_modes, bKernelShareModes)
FN_LOCAL_BOOL(onlyuser, bOnlyUser)
FN_LOCAL_PARM_BOOL(manglednames, bMangledNames)
FN_LOCAL_BOOL(symlinks, bSymlinks)
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 2aa392a683..23489ae01f 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3001,6 +3001,15 @@ static struct parm_struct parm_table[] = {
.flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
},
{
+ .label = "kernel share modes",
+ .type = P_BOOL,
+ .p_class = P_LOCAL,
+ .offset = LOCAL_VAR(bKernelShareModes),
+ .special = NULL,
+ .enum_list = NULL,
+ .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL,
+ },
+ {
.label = "locking",
.type = P_BOOL,
.p_class = P_LOCAL,
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 3635759ac5..44b9d716e5 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1291,6 +1291,7 @@ bool lp_posix_locking(const struct share_params *p );
bool lp_oplocks(int );
bool lp_kernel_oplocks(int );
bool lp_level2_oplocks(int );
+bool lp_kernel_share_modes(int);
bool lp_onlyuser(int );
bool lp_manglednames(const struct share_params *p );
bool lp_allow_insecure_widelinks(void);
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index cf616f5e19..563d6446a0 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -281,6 +281,7 @@ static struct loadparm_service sDefault =
.iDirectoryNameCacheSize = 100,
#endif
.ismb_encrypt = SMB_SIGNING_DEFAULT,
+ .bKernelShareModes = true,
.param_opt = NULL,
.dummy = ""
};