mirror of
https://github.com/samba-team/samba.git
synced 2025-01-22 22:04:08 +03:00
s3: smbd: Change "strict sync" paramter from "no" to "yes" for 4.7.0.
Document change and modify in loadparm.c. Safer default for new installs and vendors. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Christof Schmitt <cs@samba.org>
This commit is contained in:
parent
a74fef0b90
commit
ed483d8e57
@ -3,26 +3,38 @@
|
||||
type="boolean"
|
||||
xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
|
||||
<description>
|
||||
<para>Many Windows applications (including the Windows 98 explorer
|
||||
shell) seem to confuse flushing buffer contents to disk with doing
|
||||
a sync to disk. Under UNIX, a sync call forces the thread to be
|
||||
suspended until the kernel has ensured that all outstanding data in
|
||||
kernel disk buffers has been safely stored onto stable storage.
|
||||
This is very slow and should only be done rarely. Setting this
|
||||
parameter to <constant>no</constant> (the default) means that
|
||||
<citerefentry><refentrytitle>smbd</refentrytitle>
|
||||
<manvolnum>8</manvolnum></citerefentry> ignores the Windows
|
||||
applications requests for a sync call. There is only a possibility
|
||||
of losing data if the operating system itself that Samba is running
|
||||
on crashes, so there is little danger in this default setting. In
|
||||
addition, this fixes many performance problems that people have
|
||||
reported with the new Windows98 explorer shell file copies.</para>
|
||||
<para>This parameter controls whether Samba honors a request
|
||||
from an SMB client to ensure any outstanding operating system
|
||||
buffer contents held in memory are safely written onto stable
|
||||
storage on disk. If set to <constant>yes</constant>, which is
|
||||
the default, then Windows applications can force the smbd server
|
||||
to synchronize unwritten data onto the disk. If set to
|
||||
<constant>no</constant> then smbd will ignore client
|
||||
requests to synchronize unwritten data onto stable storage on
|
||||
disk.</para>
|
||||
|
||||
<para>In Samba 4.7.0, the default for this parameter changed from
|
||||
<constant>no</constant> to <constant>yes</constant> to better
|
||||
match the expectations of SMB2/3 clients and improve application
|
||||
safety when running against smbd.</para>
|
||||
|
||||
<para>The flush request from SMB2/3 clients is handled
|
||||
asynchronously, so for these clients setting the parameter
|
||||
to <constant>yes</constant> does not block the processing of other
|
||||
requests in the smbd process.</para>
|
||||
asynchronously inside smbd, so leaving the parameter as the default
|
||||
value of <constant>yes</constant> does not block the processing of
|
||||
other requests to the smbd process.</para>
|
||||
|
||||
<para>Legacy Windows applications (such as the Windows 98 explorer
|
||||
shell) seemed to confuse writing buffer contents to the operating
|
||||
system with synchronously writing outstanding data onto stable storage
|
||||
on disk. Changing this parameter to <constant>no</constant> means that
|
||||
<citerefentry><refentrytitle>smbd</refentrytitle>
|
||||
<manvolnum>8</manvolnum></citerefentry> will ignore the Windows
|
||||
applications request to synchronize unwritten data onto disk. Only
|
||||
consider changing this if smbd is serving obsolete SMB1 Windows clients
|
||||
prior to Windows XP (Windows 98 and below). There should be no need to
|
||||
change this setting for normal operations.</para>
|
||||
</description>
|
||||
|
||||
<related>sync always</related>
|
||||
<value type="default">no</value>
|
||||
<value type="default">yes</value>
|
||||
</samba:parameter>
|
||||
|
@ -2832,6 +2832,8 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx)
|
||||
|
||||
lpcfg_do_global_parameter(lp_ctx, "strict locking", "Auto");
|
||||
|
||||
lpcfg_do_global_parameter(lp_ctx, "strict sync", "yes");
|
||||
|
||||
lpcfg_do_global_parameter(lp_ctx, "map readonly", "yes");
|
||||
|
||||
lpcfg_do_global_parameter(lp_ctx, "allow trusted domains", "yes");
|
||||
|
@ -207,7 +207,7 @@ static struct loadparm_service sDefault =
|
||||
.sync_always = false,
|
||||
.strict_allocate = false,
|
||||
.strict_rename = false,
|
||||
.strict_sync = false,
|
||||
.strict_sync = true,
|
||||
.mangling_char = '~',
|
||||
.copymap = NULL,
|
||||
.delete_readonly = false,
|
||||
|
Loading…
x
Reference in New Issue
Block a user