ioctl_ficlonerange.2: srcfix

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2016-06-08 12:10:48 +02:00
parent 9eb18e174c
commit 1d691addc2
1 changed files with 16 additions and 9 deletions

View File

@ -35,9 +35,11 @@ system call can be used to make some of the data in the
file appear in the file appear in the
.B dest_fd .B dest_fd
file by sharing the underlying storage, which is faster than making a separate file by sharing the underlying storage, which is faster than making a separate
physical copy of the data. If a file write should occur to a shared region, physical copy of the data.
If a file write should occur to a shared region,
the filesystem must ensure that the changes remain private to the file being the filesystem must ensure that the changes remain private to the file being
written. This behavior is commonly referred to as "copy on write". written.
This behavior is commonly referred to as "copy on write".
This ioctl reflinks up to This ioctl reflinks up to
.IR src_length .IR src_length
@ -49,7 +51,8 @@ into the file
.IR dest_fd .IR dest_fd
at offset at offset
.IR dest_offset ", .IR dest_offset ",
provided that both are files. This information is conveyed in a structure of provided that both are files.
This information is conveyed in a structure of
the following form: the following form:
.in +4n .in +4n
.nf .nf
@ -84,10 +87,12 @@ One of the files is a directory and the filesystem does not support shared
regions in directories. regions in directories.
.TP .TP
.B EINVAL .B EINVAL
The filesystem does not support reflinking the ranges of the given files. This The filesystem does not support reflinking the ranges of the given files.
error can also appear if either file descriptor represents a device, fifo, or This error can also appear if either file descriptor represents
socket. Disk filesystems generally require the offset and length arguments a device, fifo, or socket.
to be aligned to the fundamental block size. XFS and btrfs do not support Disk filesystems generally require the offset and length arguments
to be aligned to the fundamental block size.
XFS and btrfs do not support
overlapping reflink ranges in the same file. overlapping reflink ranges in the same file.
.TP .TP
.B EBADF .B EBADF
@ -104,7 +109,8 @@ resides on does not support reflink.
is immutable. is immutable.
.TP .TP
.B ETXTBSY .B ETXTBSY
One of the files is a swap file. Swap files cannot share storage. One of the files is a swap file.
Swap files cannot share storage.
.TP .TP
.B EOPNOTSUPP .B EOPNOTSUPP
This can appear if the filesystem does not support reflinking either file This can appear if the filesystem does not support reflinking either file
@ -115,7 +121,8 @@ Because a copy on write operation requires the allocation of new storage, the
operation may un-share shared blocks to guarantee that subsequent writes will operation may un-share shared blocks to guarantee that subsequent writes will
not fail because of lack of disk space. not fail because of lack of disk space.
.SH CONFORMING TO .SH CONFORMING TO
This API is Linux-specific. This ioctl was previously known as This API is Linux-specific.
This ioctl was previously known as
.B BTRFS_IOC_CLONE_RANGE .B BTRFS_IOC_CLONE_RANGE
and was private to btrfs. and was private to btrfs.
.fi .fi