diff options
author | Alexander Bokovoy <ab@samba.org> | 2003-03-27 15:27:19 +0000 |
---|---|---|
committer | Alexander Bokovoy <ab@samba.org> | 2003-03-27 15:27:19 +0000 |
commit | 5cd3d3f14ef56ff5f1d92aba0174649f3d368f66 (patch) | |
tree | 7982c107cb4ecf2b739dd0d21b591aca20e9b19a /docs/docbook/smbdotconf/locking | |
parent | 7c6a4de6f97287e43405b66baa81aa328315de7c (diff) | |
download | samba-5cd3d3f14ef56ff5f1d92aba0174649f3d368f66.tar.gz samba-5cd3d3f14ef56ff5f1d92aba0174649f3d368f66.tar.bz2 samba-5cd3d3f14ef56ff5f1d92aba0174649f3d368f66.zip |
Add new framework for smb.conf(5). Please read README before trying to compile.
I will commit more meta-information updates during week-end.
(This used to be commit 8d684dffab6a90b3d612a1aa2b2c457a2bc2e6ac)
Diffstat (limited to 'docs/docbook/smbdotconf/locking')
-rw-r--r-- | docs/docbook/smbdotconf/locking/blockinglocks.xml | 22 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/cscpolicy.xml | 18 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/fakeoplocks.xml | 27 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/kerneloplocks.xml | 24 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/level2oplocks.xml | 39 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/locking.xml | 25 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/lockspincount.xml | 15 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/lockspintime.xml | 11 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/oplockbreakwaittime.xml | 16 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/oplockcontentionlimit.xml | 19 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/oplocks.xml | 27 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/posixlocking.xml | 14 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/sharemodes.xml | 26 | ||||
-rw-r--r-- | docs/docbook/smbdotconf/locking/strictlocking.xml | 17 |
14 files changed, 300 insertions, 0 deletions
diff --git a/docs/docbook/smbdotconf/locking/blockinglocks.xml b/docs/docbook/smbdotconf/locking/blockinglocks.xml new file mode 100644 index 0000000000..ea5e90b5cd --- /dev/null +++ b/docs/docbook/smbdotconf/locking/blockinglocks.xml @@ -0,0 +1,22 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="BLOCKINGLOCKS"/>blocking locks (S)</term> + <listitem><para>This parameter controls the behavior + of <citerefentry><refentrytitle>smbd</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> when given a request by a client + to obtain a byte range lock on a region of an open file, and the + request has a time limit associated with it.</para> + + <para>If this parameter is set and the lock range requested + cannot be immediately satisfied, samba will internally + queue the lock request, and periodically attempt to obtain + the lock until the timeout period expires.</para> + + <para>If this parameter is set to <constant>no</constant>, then + samba will behave as previous versions of Samba would and + will fail the lock request immediately if the lock range + cannot be obtained.</para> + + <para>Default: <command moreinfo="none">blocking locks = yes</command></para> + + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/cscpolicy.xml b/docs/docbook/smbdotconf/locking/cscpolicy.xml new file mode 100644 index 0000000000..e5139bc4f3 --- /dev/null +++ b/docs/docbook/smbdotconf/locking/cscpolicy.xml @@ -0,0 +1,18 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="CSCPOLICY"/>csc policy (S)</term> + <listitem><para>This stands for <emphasis>client-side caching + policy</emphasis>, and specifies how clients capable of offline + caching will cache the files in the share. The valid values + are: manual, documents, programs, disable.</para> + + <para>These values correspond to those used on Windows + servers.</para> + + <para>For example, shares containing roaming profiles can have + offline caching disabled using <command moreinfo="none">csc policy = disable + </command>.</para> + + <para>Default: <command moreinfo="none">csc policy = manual</command></para> + <para>Example: <command moreinfo="none">csc policy = programs</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/fakeoplocks.xml b/docs/docbook/smbdotconf/locking/fakeoplocks.xml new file mode 100644 index 0000000000..16887726c0 --- /dev/null +++ b/docs/docbook/smbdotconf/locking/fakeoplocks.xml @@ -0,0 +1,27 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="FAKEOPLOCKS"/>fake oplocks (S)</term> + <listitem><para>Oplocks are the way that SMB clients get permission + from a server to locally cache file operations. If a server grants + an oplock (opportunistic lock) then the client is free to assume + that it is the only one accessing the file and it will aggressively + cache file data. With some oplock types the client may even cache + file open/close operations. This can give enormous performance benefits. + </para> + + <para>When you set <command moreinfo="none">fake oplocks = yes</command>, <ulink url="smbd.8.html"><command moreinfo="none">smbd(8)</command></ulink> will + always grant oplock requests no matter how many clients are using + the file.</para> + + <para>It is generally much better to use the real <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter></link> support rather + than this parameter.</para> + + <para>If you enable this option on all read-only shares or + shares that you know will only be accessed from one client at a + time such as physically read-only media like CDROMs, you will see + a big performance improvement on many operations. If you enable + this option on shares where multiple clients may be accessing the + files read-write at the same time you can get data corruption. Use + this option carefully!</para> + + <para>Default: <command moreinfo="none">fake oplocks = no</command></para></listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/kerneloplocks.xml b/docs/docbook/smbdotconf/locking/kerneloplocks.xml new file mode 100644 index 0000000000..98513fdd1e --- /dev/null +++ b/docs/docbook/smbdotconf/locking/kerneloplocks.xml @@ -0,0 +1,24 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="KERNELOPLOCKS"/>kernel oplocks (G)</term> + <listitem><para>For UNIXes that support kernel based <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter></link> + (currently only IRIX and the Linux 2.4 kernel), this parameter + allows the use of them to be turned on or off.</para> + + <para>Kernel oplocks support allows Samba <parameter moreinfo="none">oplocks + </parameter> to be broken whenever a local UNIX process or NFS operation + accesses a file that <citerefentry><refentrytitle>smbd</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> has oplocked. This allows complete + data consistency between SMB/CIFS, NFS and local file access (and is + a <emphasis>very</emphasis> cool feature :-).</para> + + <para>This parameter defaults to <constant>on</constant>, but is translated + to a no-op on systems that no not have the necessary kernel support. + You should never need to touch this parameter.</para> + + <para>See also the <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter> + </link> and <link linkend="LEVEL2OPLOCKS"><parameter moreinfo="none">level2 oplocks + </parameter></link> parameters.</para> + + <para>Default: <command moreinfo="none">kernel oplocks = yes</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/level2oplocks.xml b/docs/docbook/smbdotconf/locking/level2oplocks.xml new file mode 100644 index 0000000000..adae6d268f --- /dev/null +++ b/docs/docbook/smbdotconf/locking/level2oplocks.xml @@ -0,0 +1,39 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LEVEL2OPLOCKS"/>level2 oplocks (S)</term> + <listitem><para>This parameter controls whether Samba supports + level2 (read-only) oplocks on a share.</para> + + <para>Level2, or read-only oplocks allow Windows NT clients + that have an oplock on a file to downgrade from a read-write oplock + to a read-only oplock once a second client opens the file (instead + of releasing all oplocks on a second open, as in traditional, + exclusive oplocks). This allows all openers of the file that + support level2 oplocks to cache the file for read-ahead only (ie. + they may not cache writes or lock requests) and increases performance + for many accesses of files that are not commonly written (such as + application .EXE files).</para> + + <para>Once one of the clients which have a read-only oplock + writes to the file all clients are notified (no reply is needed + or waited for) and told to break their oplocks to "none" and + delete any read-ahead caches.</para> + + <para>It is recommended that this parameter be turned on + to speed access to shared executables.</para> + + <para>For more discussions on level2 oplocks see the CIFS spec.</para> + + <para>Currently, if <link linkend="KERNELOPLOCKS"><parameter moreinfo="none">kernel + oplocks</parameter></link> are supported then level2 oplocks are + not granted (even if this parameter is set to <constant>yes</constant>). + Note also, the <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter> + </link> parameter must be set to <constant>yes</constant> on this share in order for + this parameter to have any effect.</para> + + <para>See also the <link linkend="OPLOCKS"><parameter moreinfo="none">oplocks</parameter> + </link> and <link linkend="OPLOCKS"><parameter moreinfo="none">kernel oplocks</parameter> + </link> parameters.</para> + + <para>Default: <command moreinfo="none">level2 oplocks = yes</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/locking.xml b/docs/docbook/smbdotconf/locking/locking.xml new file mode 100644 index 0000000000..aa27027a11 --- /dev/null +++ b/docs/docbook/smbdotconf/locking/locking.xml @@ -0,0 +1,25 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LOCKING"/>locking (S)</term> + <listitem><para>This controls whether or not locking will be + performed by the server in response to lock requests from the + client.</para> + + <para>If <command moreinfo="none">locking = no</command>, all lock and unlock + requests will appear to succeed and all lock queries will report + that the file in question is available for locking.</para> + + <para>If <command moreinfo="none">locking = yes</command>, real locking will be performed + by the server.</para> + + <para>This option <emphasis>may</emphasis> be useful for read-only + filesystems which <emphasis>may</emphasis> not need locking (such as + CDROM drives), although setting this parameter of <constant>no</constant> + is not really recommended even in this case.</para> + + <para>Be careful about disabling locking either globally or in a + specific service, as lack of locking may result in data corruption. + You should never need to set this parameter.</para> + + <para>Default: <command moreinfo="none">locking = yes</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/lockspincount.xml b/docs/docbook/smbdotconf/locking/lockspincount.xml new file mode 100644 index 0000000000..1ee1aab4d4 --- /dev/null +++ b/docs/docbook/smbdotconf/locking/lockspincount.xml @@ -0,0 +1,15 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LOCKSPINCOUNT"/>lock spin count (G)</term> + <listitem><para>This parameter controls the number of times + that smbd should attempt to gain a byte range lock on the + behalf of a client request. Experiments have shown that + Windows 2k servers do not reply with a failure if the lock + could not be immediately granted, but try a few more times + in case the lock could later be aquired. This behavior + is used to support PC database formats such as MS Access + and FoxPro. + </para> + + <para>Default: <command moreinfo="none">lock spin count = 2</command> + </para></listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/lockspintime.xml b/docs/docbook/smbdotconf/locking/lockspintime.xml new file mode 100644 index 0000000000..4d3ea1bdc4 --- /dev/null +++ b/docs/docbook/smbdotconf/locking/lockspintime.xml @@ -0,0 +1,11 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="LOCKSPINTIME"/>lock spin time (G)</term> + <listitem><para>The time in microseconds that smbd should + pause before attempting to gain a failed lock. See + <link linkend="LOCKSPINCOUNT"><parameter moreinfo="none">lock spin + count</parameter></link> for more details. + </para> + + <para>Default: <command moreinfo="none">lock spin time = 10</command> + </para></listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/oplockbreakwaittime.xml b/docs/docbook/smbdotconf/locking/oplockbreakwaittime.xml new file mode 100644 index 0000000000..5e08200a33 --- /dev/null +++ b/docs/docbook/smbdotconf/locking/oplockbreakwaittime.xml @@ -0,0 +1,16 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="OPLOCKBREAKWAITTIME"/>oplock break wait time (G)</term> + <listitem><para>This is a tuning parameter added due to bugs in + both Windows 9x and WinNT. If Samba responds to a client too + quickly when that client issues an SMB that can cause an oplock + break request, then the network client can fail and not respond + to the break request. This tuning parameter (which is set in milliseconds) + is the amount of time Samba will wait before sending an oplock break + request to such (broken) clients.</para> + + <para><emphasis>DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ + AND UNDERSTOOD THE SAMBA OPLOCK CODE</emphasis>.</para> + + <para>Default: <command moreinfo="none">oplock break wait time = 0</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/oplockcontentionlimit.xml b/docs/docbook/smbdotconf/locking/oplockcontentionlimit.xml new file mode 100644 index 0000000000..fd3b45d0b1 --- /dev/null +++ b/docs/docbook/smbdotconf/locking/oplockcontentionlimit.xml @@ -0,0 +1,19 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="OPLOCKCONTENTIONLIMIT"/>oplock contention limit (S)</term> + <listitem><para>This is a <emphasis>very</emphasis> advanced + <ulink url="smbd.8.html">smbd(8)</ulink> tuning option to + improve the efficiency of the granting of oplocks under multiple + client contention for the same file.</para> + + <para>In brief it specifies a number, which causes <citerefentry><refentrytitle>smbd</refentrytitle> + <manvolnum>8</manvolnum></citerefentry>not to grant an oplock even when requested + if the approximate number of clients contending for an oplock on the same file goes over this + limit. This causes <command moreinfo="none">smbd</command> to behave in a similar + way to Windows NT.</para> + + <para><emphasis>DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ + AND UNDERSTOOD THE SAMBA OPLOCK CODE</emphasis>.</para> + + <para>Default: <command moreinfo="none">oplock contention limit = 2</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/oplocks.xml b/docs/docbook/smbdotconf/locking/oplocks.xml new file mode 100644 index 0000000000..071786f35c --- /dev/null +++ b/docs/docbook/smbdotconf/locking/oplocks.xml @@ -0,0 +1,27 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="OPLOCKS"/>oplocks (S)</term> + <listitem><para>This boolean option tells <command moreinfo="none">smbd</command> whether to + issue oplocks (opportunistic locks) to file open requests on this + share. The oplock code can dramatically (approx. 30% or more) improve + the speed of access to files on Samba servers. It allows the clients + to aggressively cache files locally and you may want to disable this + option for unreliable network environments (it is turned on by + default in Windows NT Servers). For more information see the file + <filename moreinfo="none">Speed.txt</filename> in the Samba <filename moreinfo="none">docs/</filename> + directory.</para> + + <para>Oplocks may be selectively turned off on certain files with a + share. See the <link linkend="VETOOPLOCKFILES"><parameter moreinfo="none"> + veto oplock files</parameter></link> parameter. On some systems + oplocks are recognized by the underlying operating system. This + allows data synchronization between all access to oplocked files, + whether it be via Samba or NFS or a local UNIX process. See the + <parameter moreinfo="none">kernel oplocks</parameter> parameter for details.</para> + + <para>See also the <link linkend="KERNELOPLOCKS"><parameter moreinfo="none">kernel + oplocks</parameter></link> and <link linkend="LEVEL2OPLOCKS"><parameter moreinfo="none"> + level2 oplocks</parameter></link> parameters.</para> + + <para>Default: <command moreinfo="none">oplocks = yes</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/posixlocking.xml b/docs/docbook/smbdotconf/locking/posixlocking.xml new file mode 100644 index 0000000000..4f2e2d215b --- /dev/null +++ b/docs/docbook/smbdotconf/locking/posixlocking.xml @@ -0,0 +1,14 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="POSIXLOCKING"/>posix locking (S)</term> + <listitem><para>The <citerefentry><refentrytitle>smbd</refentrytitle> + <manvolnum>8</manvolnum></citerefentry> + daemon maintains an database of file locks obtained by SMB clients. + The default behavior is to map this internal database to POSIX + locks. This means that file locks obtained by SMB clients are + consistent with those seen by POSIX compliant applications accessing + the files via a non-SMB method (e.g. NFS or local file access). + You should never need to disable this parameter.</para> + + <para>Default: <command moreinfo="none">posix locking = yes</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/sharemodes.xml b/docs/docbook/smbdotconf/locking/sharemodes.xml new file mode 100644 index 0000000000..c789ed0fb2 --- /dev/null +++ b/docs/docbook/smbdotconf/locking/sharemodes.xml @@ -0,0 +1,26 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="SHAREMODES"/>share modes (S)</term> + <listitem><para>This enables or disables the honoring of + the <parameter moreinfo="none">share modes</parameter> during a file open. These + modes are used by clients to gain exclusive read or write access + to a file.</para> + + <para>These open modes are not directly supported by UNIX, so + they are simulated using shared memory, or lock files if your + UNIX doesn't support shared memory (almost all do).</para> + + <para>The share modes that are enabled by this option are + <constant>DENY_DOS</constant>, <constant>DENY_ALL</constant>, + <constant>DENY_READ</constant>, <constant>DENY_WRITE</constant>, + <constant>DENY_NONE</constant> and <constant>DENY_FCB</constant>. + </para> + + <para>This option gives full share compatibility and enabled + by default.</para> + + <para>You should <emphasis>NEVER</emphasis> turn this parameter + off as many Windows applications will break if you do so.</para> + + <para>Default: <command moreinfo="none">share modes = yes</command></para> + </listitem> + </samba:parameter> diff --git a/docs/docbook/smbdotconf/locking/strictlocking.xml b/docs/docbook/smbdotconf/locking/strictlocking.xml new file mode 100644 index 0000000000..b67ae47736 --- /dev/null +++ b/docs/docbook/smbdotconf/locking/strictlocking.xml @@ -0,0 +1,17 @@ +<samba:parameter xmlns:samba="http://samba.org/common"> + <term><anchor id="STRICTLOCKING"/>strict locking (S)</term> + <listitem><para>This is a boolean that controls the handling of + file locking in the server. When this is set to <constant>yes</constant> + the server will check every read and write access for file locks, and + deny access if locks exist. This can be slow on some systems.</para> + + <para>When strict locking is <constant>no</constant> the server does file + lock checks only when the client explicitly asks for them.</para> + + <para>Well-behaved clients always ask for lock checks when it + is important, so in the vast majority of cases <command moreinfo="none">strict + locking = no</command> is preferable.</para> + + <para>Default: <command moreinfo="none">strict locking = no</command></para> + </listitem> + </samba:parameter> |