From da071869628c8b6ea6ed01b4f1083680114505a9 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Sat, 8 Sep 2012 10:47:51 +0200 Subject: s3: add an option "kernel share modes" to be able to switch off using kernel flocks Signed-off-by: Stefan Metzmacher --- lib/param/param_functions.c | 1 + lib/param/param_table.c | 9 +++++++++ source3/include/proto.h | 1 + source3/param/loadparm.c | 1 + 4 files changed, 12 insertions(+) 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 @@ -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, 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 = "" }; -- cgit