1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

s3:param: Add new option "strict rename".

Control whether smbd can rename directories containing
open files. Defaults to "no" (meaning we *can* do
such renames).

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
Jeremy Allison 2014-10-24 13:57:04 -07:00
parent 9010bbeb00
commit b0a434386d
3 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,25 @@
<samba:parameter name="strict rename"
context="S"
type="boolean"
xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
<description>
<para>By default a Windows SMB server prevents directory
renames when there are open file or directory handles below
it in the filesystem hierarchy. Historically Samba has always
allowed this as POSIX filesystem semantics require it.</para>
<para>This boolean parameter allows Samba to match the Windows
behavior. Setting this to "yes" is a very expensive change,
as it forces Samba to travers the entire open file handle
database on every directory rename request. In a clustered
Samba system the cost is even greater than the non-clustered
case.</para>
<para>For this reason the default is "no", and it is recommended
to be left that way unless a specific Windows application requires
it to be changed.</para>
</description>
<value type="default">no</value>
</samba:parameter>

View File

@ -1883,6 +1883,15 @@ struct parm_struct parm_table[] = {
.enum_list = NULL,
.flags = FLAG_ADVANCED | FLAG_SHARE,
},
{
.label = "strict rename",
.type = P_BOOL,
.p_class = P_LOCAL,
.offset = LOCAL_VAR(strict_rename),
.special = NULL,
.enum_list = NULL,
.flags = FLAG_ADVANCED | FLAG_SHARE,
},
{
.label = "strict sync",
.type = P_BOOL,

View File

@ -206,6 +206,7 @@ static struct loadparm_service sDefault =
.follow_symlinks = true,
.sync_always = false,
.strict_allocate = false,
.strict_rename = false,
.strict_sync = false,
.mangling_char = '~',
.copymap = NULL,