From d5fd12648e004b47bbe5ed2623838866fedcbeb0 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 26 Oct 2004 00:59:06 +0000 Subject: 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) --- source4/param/loadparm.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source4/param/loadparm.c') 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; -- cgit