docs: Bump version up to 4.4.
[obnox/samba/samba-obnox.git] / docs-xml / manpages / vfs_crossrename.8.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
3 <refentry id="vfs_crossrename.8">
4
5 <refmeta>
6         <refentrytitle>vfs_crossrename</refentrytitle>
7         <manvolnum>8</manvolnum>
8         <refmiscinfo class="source">Samba</refmiscinfo>
9         <refmiscinfo class="manual">System Administration tools</refmiscinfo>
10         <refmiscinfo class="version">4.4</refmiscinfo>
11 </refmeta>
12
13
14 <refnamediv>
15         <refname>vfs_crossrename</refname>
16         <refpurpose>server side rename files across filesystem boundaries</refpurpose>
17 </refnamediv>
18
19 <refsynopsisdiv>
20         <cmdsynopsis>
21                 <command>vfs objects = crossrename</command>
22         </cmdsynopsis>
23 </refsynopsisdiv>
24
25 <refsect1>
26         <title>DESCRIPTION</title>
27
28         <para>This VFS module is part of the
29         <citerefentry><refentrytitle>samba</refentrytitle>
30         <manvolnum>7</manvolnum></citerefentry> suite.</para>
31
32         <para>The <command>vfs_crossrename</command> VFS module allows
33         server side rename operations even if source and target are on
34         different physical devices. A "move" in Explorer is usually a
35         rename operation if it is inside of a single share or device.
36         Usually such a rename operation returns
37         NT_STATUS_NOT_SAME_DEVICE and the client has to move the file by
38         manual copy and delete operations. If the rename by copy is done by the
39         server this can be much more efficient. vfs_crossrename tries to do
40         this server-side cross-device rename operation.
41         </para>
42
43         <para>There are however limitations that this module currently does not
44         solve:</para>
45
46         <variablelist>
47                 <varlistentry>
48                 <para>The ACLs of files are not preserved,</para>
49                 </varlistentry>
50                 <varlistentry>
51                 <para>meta data in EAs are not preserved,</para>
52                 </varlistentry>
53                 <varlistentry>
54                 <para>renames of whole subdirectories cannot be done recursively,
55                 in that case we still return STATUS_NOT_SAME_DEVICE and
56                 let the client decide what to do,</para>
57                 </varlistentry>
58                 <varlistentry>
59                 <para>rename operations of huge files can cause hangs on the
60                 client because clients expect a rename operation to
61                 return fast.</para>
62                 </varlistentry>
63         </variablelist>
64
65         <para>This module is stackable.</para>
66
67 </refsect1>
68
69
70 <refsect1>
71         <title>OPTIONS</title>
72
73         <variablelist>
74
75                 <varlistentry>
76                 <term>crossrename:sizelimit = BYTES</term>
77                 <listitem>
78                 <para>server-side cross-device-renames are only done
79                 for files if the filesize is not larger than the defined
80                 size in MiB to prevent timeouts. The default sizelimit is
81                 20 (MiB)
82                 </para>
83                 </listitem>
84                 </varlistentry>
85         </variablelist>
86 </refsect1>
87
88 <refsect1>
89         <title>EXAMPLES</title>
90
91         <para>To add server-side cross-device renames inside of a share
92         for all files sized up to 50MB:</para>
93
94 <programlisting>
95         <smbconfsection name="[testshare]"/>
96         <smbconfoption name="path">/data/mounts</smbconfoption>
97         <smbconfoption name="vfs objects">crossrename</smbconfoption>
98         <smbconfoption name="crossrename:sizelimit">50</smbconfoption>
99 </programlisting>
100 </refsect1>
101
102 <refsect1>
103         <title>VERSION</title>
104         <para>This man page is correct for version 4.0.0 of the Samba suite.
105         </para>
106 </refsect1>
107
108 <refsect1>
109         <title>AUTHOR</title>
110
111         <para>The original Samba software and related utilities
112         were created by Andrew Tridgell. Samba is now developed
113         by the Samba Team as an Open Source project similar
114         to the way the Linux kernel is developed.</para>
115
116 </refsect1>
117
118 </refentry>