man2/fallocate.2: Document behavior with shared blocks

Note that FALLOC_FL_UNSHARE may use CoW to unshare blocks to
guarantee that a disk write won't fail with ENOSPC.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
Darrick J. Wong 2016-10-17 18:54:27 -07:00 committed by Michael Kerrisk
parent 3b3d46e7cf
commit 63a599c657
1 changed files with 10 additions and 0 deletions

View File

@ -79,6 +79,16 @@ but the file size will not be changed even if
is greater than the file size.
Preallocating zeroed blocks beyond the end of the file in this manner
is useful for optimizing append workloads.
If the
.B FALLOC_FL_UNSHARE
flag is specified in
.IR mode ,
shared file data extents will be made private to the file to guarantee
that a subsequent write will not fail due to lack of space.
Typically, this will be done by performing a copy-on-write operation on
all shared data in the file.
This flag may not be supported by all filesystems.
.PP
Because allocation is done in block size chunks,
.BR fallocate ()