docs: Bump version up to 4.7.
[samba.git] / docs-xml / manpages / vfs_fruit.8.xml
index 47caeb008e72c7f825be97d4e9de3b24d1415bbf..6976d7d1e7dbbc04bcaa85bdb0022b448326ee15 100644 (file)
@@ -7,7 +7,7 @@
        <manvolnum>8</manvolnum>
        <refmiscinfo class="source">Samba</refmiscinfo>
        <refmiscinfo class="manual">System Administration tools</refmiscinfo>
-       <refmiscinfo class="version">4.2</refmiscinfo>
+       <refmiscinfo class="version">4.7</refmiscinfo>
 </refmeta>
 
 
        <command>vfs_streams_xattr</command> which must be loaded
        together with <command>vfs_fruit</command>.</para>
 
+       <para>vfs_fruit requires "ea support = yes".</para>
+
+       <para>Be careful when mixing shares with and without
+       vfs_fruit. OS X clients negotiate SMB2 AAPL protocol
+       extensions on the first tcon, so mixing shares with and
+       without fruit will globally disable AAPL if the first tcon is
+       without fruit.</para>
+
        <para>Having shares with ADS support enabled for OS X client
        is worthwhile because it resembles the behaviour of Apple's
        own SMB server implementation and it avoids certain severe
          <varlistentry>
            <term>fruit:resource = [ file | xattr | stream ]</term>
            <listitem>
-             <para>Controls where the OS X resource fork is stored:</para>
+             <para>Controls where the OS X resource fork is stored.</para>
+
+             <para>Due to a spelling bug in all Samba versions older then
+             4.6.0, this option can also be given as
+             <emphasis>fruit:ressource</emphasis>, ie with two s.</para>
+
+             <para>Settings:</para>
 
              <itemizedlist>
                <listitem><para><command>file (default)</command> - use a ._
                down to Solaris and derived platforms and
                ZFS</para></listitem>
 
-               <listitem><para><command>stream</command> - pass the
-               stream on to the next module in the VFS
-               stack</para></listitem>
+               <listitem><para><command>stream (experimental)</command> - pass
+               the stream on to the next module in the VFS stack.
+               <emphasis>Warning: </emphasis> this option should not be used
+               with the <emphasis>streams_xattr</emphasis> module due to the
+               extended attributes size limitations of most
+               filesytems.</para></listitem>
              </itemizedlist>
 
            </listitem>
 
                <listitem><para><command>native</command> - store
                characters with their native ASCII
-               value</para></listitem>
+               value. <emphasis>Important</emphasis>: this option
+               requires the use of <emphasis>vfs_catia</emphasis> in
+               the VFS module stack as shown in the examples
+               section.</para></listitem>
+
+             </itemizedlist>
+           </listitem>
+         </varlistentry>
+
+         <varlistentry>
+           <term>fruit:aapl = yes | no</term>
+           <listitem>
+             <para>A global option whether to enable Apple's SMB2+
+             extension codenamed AAPL. Default
+             <emphasis>yes</emphasis>. This extension enhances
+             several deficiencies when connecting from Macs:</para>
+
+             <itemizedlist>
+               <listitem><para>directory enumeration is enriched with
+               Mac relevant filesystem metadata (UNIX mode,
+               FinderInfo, resource fork size and effective
+               permission), as a result the Mac client doesn't need
+               to fetch this metadata individuallly per directory
+               entry resulting in an often tremendous performance
+               increase.</para></listitem>
+
+               <listitem><para>The ability to query and modify the
+               UNIX mode of directory entries.</para></listitem>
+             </itemizedlist>
+
+             <para>There's a set of per share options that can be
+             used to disable the computation of specific Mac metadata
+             in the directory enumeration context, all are enabled by
+             default:</para>
 
+             <itemizedlist>
+               <listitem><para>readdir_attr:aapl_rsize = true | false</para></listitem>
+               <listitem><para>readdir_attr:aapl_finder_info = true | false</para></listitem>
+               <listitem><para>readdir_attr:aapl_max_access = true | false</para></listitem>
              </itemizedlist>
+
+           </listitem>
+         </varlistentry>
+
+         <varlistentry>
+           <term>fruit:nfs_aces = yes | no</term>
+           <listitem>
+             <para>Whether support for querying and modifying the
+             UNIX mode of directory entries via NFS ACEs is enabled,
+             default <emphasis>yes</emphasis>.</para>
+           </listitem>
+         </varlistentry>
+
+         <varlistentry>
+           <term>fruit:veto_appledouble = yes | no</term>
+           <listitem>
+             <para>Whether ._ AppleDouble files are vetoed which
+             prevents the client from seing and accessing internal
+             AppleDouble files created by vfs_fruit itself for the
+             purpose of storing a Mac resource fork.</para>
+             <para>Vetoing ._ files may break some applications, eg
+             extracting Mac ZIP archives from Mac clients failes,
+             because they contain ._ files. Setting this option to
+             false will fix this, but the abstraction leak of
+             exposing the internally created ._ files may have other
+             unknown side effects.</para>
+             <para>The default is <emphasis>yes</emphasis>.</para>
+           </listitem>
+         </varlistentry>
+
+         <varlistentry>
+           <term>fruit:copyfile = yes | no</term>
+           <listitem>
+             <para>Whether to enable OS X specific copychunk ioctl
+             that requests a copy of a whole file along with all
+             attached metadata.</para>
+             <para>WARNING: the copyfile request is blocking the
+             client while the server does the copy.</para>.
+             <para>The default is <emphasis>no</emphasis>.</para>
+           </listitem>
+         </varlistentry>
+
+         <varlistentry>
+           <term>fruit:posix_rename = yes | no</term>
+           <listitem>
+             <para>Whether to enable POSIX directory rename behaviour
+             for OS X clients. Without this, directories can't be
+             renamed if any client has any file inside it
+             (recursive!) open.</para>
+             <para>The default is <emphasis>yes</emphasis>.</para>
            </listitem>
          </varlistentry>
 
 
 <programlisting>
         <smbconfsection name="[share]"/>
+       <smbconfoption name="ea support">yes</smbconfoption>
        <smbconfoption name="vfs objects">catia fruit streams_xattr</smbconfoption>
        <smbconfoption name="fruit:resource">file</smbconfoption>
        <smbconfoption name="fruit:metadata">netatalk</smbconfoption>