summaryrefslogtreecommitdiff
path: root/source4/param/loadparm.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-10-26 00:59:06 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:04:43 -0500
commitd5fd12648e004b47bbe5ed2623838866fedcbeb0 (patch)
tree837c57d7a2da2d3b61684c562541971721fb6e8a /source4/param/loadparm.c
parentbf3f9757e58625decd78d0b1d761e35593f2922a (diff)
downloadsamba-d5fd12648e004b47bbe5ed2623838866fedcbeb0.tar.gz
samba-d5fd12648e004b47bbe5ed2623838866fedcbeb0.tar.bz2
samba-d5fd12648e004b47bbe5ed2623838866fedcbeb0.zip
r3227: added a per-share option "case insensitive filesystem", that tells the
backend that the underlying filesystem is case insensitive, so it can bypass the directory search if the name is not found. (This used to be commit d84ade90ce7e03ec749d6ae8dcdcb41de85d836e)
Diffstat (limited to 'source4/param/loadparm.c')
-rw-r--r--source4/param/loadparm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c
index 59e6fa911a..62d30365c2 100644
--- a/source4/param/loadparm.c
+++ b/source4/param/loadparm.c
@@ -272,6 +272,7 @@ typedef struct
BOOL bMSDfsRoot;
BOOL bShareModes;
BOOL bStrictSync;
+ BOOL bCIFileSystem;
struct param_opt *param_opt;
char dummy[3]; /* for alignment */
@@ -330,6 +331,7 @@ static service sDefault = {
False, /* bMSDfsRoot */
True, /* bShareModes */
False, /* bStrictSync */
+ False, /* bCIFileSystem */
NULL, /* Parametric options */
"" /* dummy */
@@ -623,6 +625,7 @@ static struct parm_struct parm_table[] = {
{"name cache timeout", P_INTEGER, P_GLOBAL, &Globals.name_cache_timeout, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"strict sync", P_BOOL, P_LOCAL, &sDefault.bStrictSync, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE},
+ {"case insensitive filesystem", P_BOOL, P_LOCAL, &sDefault.bCIFileSystem, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE},
{"Printing Options", P_SEP, P_SEPARATOR},
@@ -1253,6 +1256,7 @@ FN_LOCAL_BOOL(lp_locking, bLocking)
FN_LOCAL_BOOL(lp_strict_locking, bStrictLocking)
FN_LOCAL_BOOL(lp_posix_locking, bPosixLocking)
FN_LOCAL_BOOL(lp_strict_sync, bStrictSync)
+FN_LOCAL_BOOL(lp_ci_filesystem, bCIFileSystem)
FN_LOCAL_BOOL(lp_share_modes, bShareModes)
FN_LOCAL_BOOL(lp_oplocks, bOpLocks)
FN_LOCAL_BOOL(lp_level2_oplocks, bLevel2OpLocks)
@@ -2444,6 +2448,11 @@ BOOL lp_set_cmdline(const char *pszParmName, const char *pszParmValue)
return lp_do_parameter_parametric(-1, pszParmName, pszParmValue, FLAG_CMDLINE);
}
+ if (parmnum < 0) {
+ DEBUG(0,("Unknown option '%s'\n", pszParmName));
+ return False;
+ }
+
/* reset the CMDLINE flag in case this has been called before */
parm_table[parmnum].flags &= ~FLAG_CMDLINE;