s3: add an option "kernel share modes" to be able to switch off using kernel flocks
authorMichael Adam <obnox@samba.org>
Sat, 8 Sep 2012 08:47:51 +0000 (10:47 +0200)
committerStefan Metzmacher <metze@samba.org>
Sat, 8 Sep 2012 09:10:54 +0000 (11:10 +0200)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
lib/param/param_functions.c
lib/param/param_table.c
source3/include/proto.h
source3/param/loadparm.c

index 52e81a44a5add3112382c5998658074d9b8a706b..3b39e8876724bc0af9ae6588f8c88cb2f0b3e734 100644 (file)
@@ -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)
index 2aa392a683baa7120d8e91fb11349f7ca3c55a8b..23489ae01f9e974e65b7255afbcd76d24ccb6af0 100644 (file)
@@ -3000,6 +3000,15 @@ static struct parm_struct parm_table[] = {
                .enum_list      = NULL,
                .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,
index 3635759ac51def7b4989fc95bbd36ebb60c18eea..44b9d716e5c7f13fccfbe94bd9c16a1ec20ad3da 100644 (file)
@@ -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);
index cf616f5e195a7c84bf27d92db93cee2ddf86874f..563d6446a00de405b1dce12fdba887144a6716bd 100644 (file)
@@ -281,6 +281,7 @@ static struct loadparm_service sDefault =
        .iDirectoryNameCacheSize = 100,
 #endif
        .ismb_encrypt = SMB_SIGNING_DEFAULT,
+       .bKernelShareModes = true,
        .param_opt = NULL,
        .dummy = ""
 };