This is a boolean that controls the handling of
disk space allocation in the server. When this is set to yes
the server will change from UNIX behaviour of not committing real
disk storage blocks when a file is extended to the Windows behaviour
of actually forcing the disk system to allocate real storage blocks
when a file is created or extended to be a given size. In UNIX
terminology this means that Samba will stop creating sparse files.
Modern UNIX filesystems now support extents and so in Samba 3.6.0 we
have changed this parameter to default to "yes". On older filesystems
without extents you might want to turn this parameter to "no".
When you have an extent based filesystem it's likely that we can make
use of unwritten extents which allows Samba to allocate even large amounts
of space very fast and you will not see any timeout problems caused by
strict allocate. With strict allocate in use you will also get much better
out of quota messages in case you use quotas. Another advantage of
activating this setting is that it will help to reduce file
fragmentation.
To give you an idea on which filesystems this setting might currently
be a good option for you: XFS, ext4, btrfs, ocfs2 on Linux and JFS2 on
AIX support unwritten extents. On Filesystems that do not support it,
preallocation is probably an expensive operation where you will see reduced
performance and risk to let clients run into timeouts when creating large
files. Examples are ext3, ZFS, HFS+ and most others, so be aware if you
leave the default setting on those filesystems.
yes